Page 1 sur 1

appel de hearder() pour l'affichage d'une image

Posté : 13 août 2006, 21:03
par aelurus
Salut tous

Voila mon soucis
<?
//include ( '../jpgraph-2.1.2/src/jpgraph.php');
//include ('../jpgraph-2.1.2/src/jpgraph_line.php' );

$image = imagecreate(200,200);
   $noir =imagecolorallocate($image,255,200,0);


imagepng($image);
   header('Content-Type: image/png');
imagedestroy($image);

?>
Et en retour dans mon navigateur j'ai :
�PNG
Warning: Cannot modify header information - headers already sent by (output started at /home/ael/web/test/image/script/creation.php:2) in /home/ael/web/test/image/script/creation.php on line 11
Je comprend l'erreure mais pas le pourquoi du comment ??

Posté : 13 août 2006, 21:05
par thehawk
il ne doit absolument pas avoir de code html avant le header ...

en esperant que cela t aide

Posté : 13 août 2006, 21:39
par aelurus
Oui mais la c la totalitée du script :)

Posté : 13 août 2006, 21:40
par thehawk
essaye de le placée avant les includes et verifie si il n ya pas d 'espace avant <?

Posté : 13 août 2006, 21:47
par zeus
Dans ton script, tu mets le imagepng() avant le header().

le imagepng() envoi le code correspondant à l'image et, ensuite, tu envoi les entetes disant que tu envois une image. Il s'agit là d'une erreur de logique. De plus, comme le header() doit être appellé avant tout envoi de caractères, tu obtiens une erreur ...

Essaye de mettre le header() tout au début de ton script ;)

Posté : 13 août 2006, 21:48
par thehawk
j'ai quasiment dit la meme chose mais en moins clair ...

Posté : 13 août 2006, 21:51
par zeus
Je suis entièrement d'accord avec toi mais je préfère expliquer les erreurs plutôt que de donner simplement la réponse.

Un proverbe que j'aime utiliser est "Donne un poisson à un pauvre, il mangera un jour, apprend lui à pecher, il mangera toute sa vie".

Tout ça pour dire que s'il comprend son erreur, il ne refera pas alors que si on se contente de lui donner la réponse sans explications, rien ne dit qu'il ne refera pas cette erreur demain ;)

Posté : 13 août 2006, 21:52
par thehawk
:merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :merci: :pouce: :pouce: :pouce: :pouce: :pouce: :pouce: :pouce:

Posté : 13 août 2006, 22:08
par aelurus
Merci :)
il y avait effectivement un soucis de logique.
<?
<?

//include ( '../jpgraph-2.1.2/src/jpgraph.php');
//include ('../jpgraph-2.1.2/src/jpgraph_line.php' );
$image = imagecreate(200,200);
   $noir =imagecolorallocate($image,255,200,0);
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
cela m'affiche bien un jolie carré jaune orange.