Problème d'affichage d'image avec imagepng (débutant)

Problème d'affichage d'image avec imagepng (débutant) - PHP - Programmation

Marsh Posté le 17-06-2010 à 17:12:11    

Bonjour,
 
 je me permets de vous soumettre mon problème car après 2 jours je ne vois plus aucune solution, et les différents forums que j'ai visité ne m'ont pas éclairé.  
Je veux afficher une image avec imagepng() dans une balise html type <img src="image.php" alt""/>.
 
J'ai donc créé mon fichier image.php qui contient trois fonctions, et mon fichier html qui affiche l'image. Tout fonctionne tant que j'affecte mes variables directement dans mon fichier image.php Par contre dès que je me sers du tableau $_ENV[] (variable d'environnement), mon programme ne fonctionne plus. Il affiche des caractères  bizarres comme s'il ne savait pas interpréter l'image.
 
J'ai pourtant comparé mes variables avec var_dump(), ce sont les mêmes types et les mêmes valeurs (!). Le code qui marche:
 

Code :
  1. $fichier="piscine.jpg";
  2. $legende="Le texte de la legende";
  3. $tritrelegende="Titre de la legende";


 
Le code qui ne marche pas:

Code :
  1. $_ENV['$f']="piscine.jpg";
  2. $_ENV['$d']="Le texte de la legende";
  3. $_ENV['$t']="Titre de la legende";
  4. $fichier=$_ENV['$f'];
  5. $legende=$_ENV['$d'];
  6. $tritrelegende=$_ENV['$t'];


 
Je précise que le test  
 

Code :
  1. if ($_ENV['$f']==="piscine.jpg" ){
  2. echo 'C'EST PAREIL !'
  3. }


 
affiche C'EST PAREIL !
 
En gros ça marche avec une constante mais pas avec une variable globale qui a pourtant la même valeur que la constante (et qui est du type attendu).
 
Au secours !!!

Reply

Marsh Posté le 17-06-2010 à 17:12:11   

Reply

Marsh Posté le 18-06-2010 à 10:25:29    

Quand j'ai deux fichiers, img.php qui contient:
 

Code :
  1. <?php
  2. function img (){
  3.  header("Content-type: image/png" );
  4.  $image_finale= imagecreatetruecolor(550,400);
  5.  imagepng($image_finale);
  6.  }
  7.  img();
  8. ?>


 
Et affiche.html qui contient:
Code :
 

Code :
  1. <img alt=""  src="img.php" />


 
J'obtiens une image.
Par contre quand j'ai un seul fichier affiche.php qui contient:
Code :
 

Code :
  1. <?php
  2. function img (){
  3.  header("Content-type: image/png" );
  4.  $image_finale= imagecreatetruecolor(550,400);
  5.  imagepng($image_finale);
  6.  }
  7. ?>
  8. <img alt=""  src="<?php img(); ?>" />


J'obtiens cette image:
 
L'image http://localhost/... ne peut être affichée car elle contient des erreurs.
 
Si quelqu'un peut m'expliquer pourquoi, ça m'enlèverais une belle épine du pied. Merci!

Reply

Marsh Posté le 18-06-2010 à 11:32:08    

Ton dernier exemple ne fonctionne pas et c'est parfaitement normal.
T'expliquer pourquoi ici dans le détail serait inutile et trop long.
Documente toi, et commence par essayer de comprendre ce que tu fais.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed