IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

récupérer une image avec readfile


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 89
    Par défaut récupérer une image avec readfile
    Bonjour à tous, voilà je doit afficher plusieurs fois la même image et j'aimerais les charger d'avance via PHP afin d'éviter les téléchargement inutiles. J'ai déjà essayé ce code dans un fichier externe image.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $image="image_decouverte.png";
    readfile($image);
    et dans mon fichier :

    Cela fonctionne mais lorsque j'utilise ce même code dans le même fichier, au lieu des images, ma page est rempli de caractères spéciaux. Que faut-il faire pour que readfile fonctionne dans le même fichier que le code pour l'afficher ? Merci d'avance pour la réponse.

    EDIT : même résultat avec fopen et fpassthru

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Tout d'abord, pour ce que tu cherches à faire, tu dois transmettre le bon header sur image.php parce que si tu as des caractère bizarre, ça veut surement dire que ton header n'est pas correc.... tu as surement quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Content-Type : text/html
    or il faudrait que tu ais quelque chose dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Content-type: image/png
    Enfin, bon, je ne sais pas si tu le sais, mais en fait, les navigateurs possède un système de cache... donc, je suis pas sur que ton idée de lecture d'image en php soit vraiment pertinente. Enfin, ça alourdi le php et ça n'accélère pas spécialement du coté utilisateur... si tu charge une image sur une page, sur la page suivante, la même image sera déjà dans le cache... Enfin, je ne sais pas si cela correspond à ton problème.


    Cordialement,
    Patouche

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 89
    Par défaut
    Quand j'utilise avec le fichier externe image.php ça marche. C'est quand je veut mettre le readfile dans la même page que le code que ça ne fonctionne pas mais je vais essayé de voir si en mettant des headers ça marcherai

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 89
    Par défaut
    Bon j'ai rajouter en haut de ma page


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-type: image/png");
    et je reçoit comme message :

    L'image “http://127.0.0.1/eclipse/tuto_ubuntu/test5.php” ne peut être affichée car elle contient des erreurs.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Citation Envoyé par julien1451 Voir le message
    .... C'est quand je veut mettre le readfile dans la même page que le code que ça ne fonctionne pas....
    Ca c'est normal que ça ne fonctionne pas.... Et je ne crois pas qu'en procédant ainsi ça risque de marcher un jour... Si tu souhaites et lire retourner une image en php, il ne faut pas que tu retournes Bonjour avant et au revoir après dans le code de ton image... c'est impossible.... Tu dois ressortir un header de type image...

    Si tu souhaites vraiment renvoyer une image via php, il ne faut retourner que l'image et rien d'autre au navigateur... Comment tu souhaites faire sinon ??.... Tu aurais du html qui ressemblerait à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="Bonjour %imq et plein de truc incompréhensible qui sont juste l'interprétation en utf8 de ton image % Au revoir" />
    ...

    Ca ne peut pas marcher....

    Patouche

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 89
    Par défaut
    Donc si c'est impossible dans le même fichier, tant pis je le fais dans un fichier externe. Ca c'est sur que ça marche. C'est dommage car j'aurais bien aimé regardé avec firebug le nombre de fois que l'image aurait été chargé. Si je fait comme j'ai marqué dans le Post #1, et que je met 7 fois la même image. L'image ne sera bien chargé que une fois ?

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    As tu lu mon premier message ???....

    Oui ton image ne sera chargée qu'une seule fois... et cela même si tu l'as modifié en cours de route, tu auras partout la même image.... C'est le cache du navigateur....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/09/2014, 16h11
  2. Récupérer une image avec un socket?
    Par sfn84 dans le forum C++Builder
    Réponses: 7
    Dernier message: 13/04/2011, 15h54
  3. Réponses: 4
    Dernier message: 29/10/2010, 15h40
  4. Récupérer taille d'une image avec IE
    Par olbouss dans le forum jQuery
    Réponses: 5
    Dernier message: 03/11/2009, 10h20
  5. Réponses: 4
    Dernier message: 07/06/2006, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo