|
|
|
|
Configuration: Windows XP Firefox 2.0.0.12
Bonjour,
Tu as deux erreurs, commençons par la plus simple qiu est la seconde : les fonctions que tu veux appeler ne sont pas ImageCreate, ImageString... mais imagecreate, imagestring... Une simple consultation de la doc php t'aurais permis de trouver cela Pour la première erreur : les balises html depuis <html> jusque <body> doivent être déplacées parès l'appel de la fonction header. Cherche par essais successifs la solution à ton pb. Bon courage PS : dans ce cas, j'aurais tendance à n'utiliser que de simples balises html (+ des styles par CSS) pour afficher ce que tu veux afficher. |
Merci de m'éclaircir mais j'ai toujours un soucis, j'ai reussi à éviter le message d'erreur:
<?php header("Content-type: image/png"); ?> <html> <head> <title></title> </head> <body> <?php $visites=array(138,254,381,652,896,720,140,556,663,331,407,768); $largeurImage=400; $hauteurImage=300; $im=imagecreate($largeurImage,$hauteurImage) or die("Erreur lors de la création de l'image"); $blanc=imagecolorallocate($im,255,255,255); $noir=imagecolorallocate($im,0,0,0); $bleu=imagecolorallocate($im,0,0,255); imageline($im,10,$hauteurImage-10,$largeurImage-10,$hauteurImage-10,$noir); for ($mois=1;$mois<=12;$mois++) { imagestring($im,0,$mois*30,$hauteurImage-10,$mois,$noir); } imageline($im,10,10,10,$hauteurImage-10,$noir); $visitesMax=1000; for($mois=1;$mois<=12;$mois++) { $hauteurImageRectangle=round(($visites[$mois-1]*$hauteurImage)/$visitesMax); imagefilledrectangle($im,$mois*30-7,$hauteurImage-$hauteurImageRectangle,$mois*30+7,$hauteurImage-10,$bleu); imagestring($im,0,$mois*30-7,$hauteurImage-$hauteurImageRectangle-10,$visites[$mois-1],$noir); } imagepng($im); ?> </body> </html> mais il m'affiche : L'image “http://localhost/Stats/graph1.php” ne peut être affichée car elle contient des erreurs. Ai je un problème mental? |
Problème mental ? non mais sans doute pas assez d'attention ni de méthode.
Ton script ci-dessus contient une erreur : examine bien le dernier argument de image string Deplus imagepng ne s'utilise pas comme ça. Tu dois avoir deux scripts php : 1. temp.php avec une balise img qui appelle le second script <html><header><title>azerty</title></header> <body> <img src="temp2.php"> </body> </html> 2. temp2.php qui génère l'image <?php header("Content-type: image/png"); $visites=array(138,254,381,652,896,720,140,556,663,331,407,768); $largeurImage=400; $hauteurImage=300; $im=imagecreate($largeurImage,$hauteurImage) or die("Erreur lors de la création de l'image"); $blanc=imagecolorallocate($im,255,255,255); $noir=imagecolorallocate($im,0,0,0); $bleu=imagecolorallocate($im,0,0,255); imageline($im,10,$hauteurImage-10,$largeurImage-10,$hauteurImage-10,$noir); for ($mois=0; $mois<12; $mois++) imagestring( $im, 0, ($mois+1)*30, $hauteurImage-10, $mois+1, $noir); imageline( $im, 10, 10, 10, $hauteurImage-10, $noir ); $visitesMax=1000; for( $mois=0; $mois < 12; $mois++) { $hauteurImageRectangle = round( ($visites[$mois]*$hauteurImage) / $visitesMax); imagefilledrectangle( $im, $mois*30-7, $hauteurImage-$hauteurImageRectangle, ($mois+1)*30+7, $hauteurImage-10, $bleu); imagestring( $im, 0, ($mois+1)*30-7, $hauteurImage-$hauteurImageRectangle-10, $visites[$mois], $noir); } imagepng($im); ?> Lit la documentation php qui explique ce mécanisme. Cordialment. |