Bonjour à tous,
Merci de vous pencher sur mon problème !
J'ai construit et affiché une (et plusieurs) image(s) avec la librairie GD en PHP.
Pour cela je crée un fichier PHP (compteur2.php) avec un code qui me construit l'image, puis je l'appelle dans ma page HTML avec <img scr="compteur2.php?pc=x">, ou x définit la longueur de l'image. Jusque là tout fonctionne très bien.
Mais, je vais devoir générer pas mal de ces images et donc je cherche à simplifier mon code dans la page HTML via l'utilisation d'une fonction, ayant pour paramètre la variable $pc (la longueur de l'image). De plus cette image devra subir des traitements (couleur, taille, texte variables, et cela se fera via des switch dans la fonction passée en paramètres).
Mais voilà, dès que je place mes lignes de code dans une fonction, (j'inclus bien sur cette fonction dans mon <body>) et que j'appelle cette fonction via PHP, l'image ne veux pas s'afficher, et j'obtiens un code erreur :
"L'image “(localhost, etc /index.php)” ne peut être affichée car elle contient des erreurs."
Par souci de clarté je n'affiche que mon body (aucun code n'est placé à l'extérieur de toute façon).
Et le code de ma fonction PHP (situé dans un fichier nommé compteur2.php).
J'ai commenté le code pour ceux qui seraient calés en fonctions en pas en GD.
la page me retourne donc l'erreur plus haut...
Ai-je mal déclarée/appelée ma fonction ?
Il y'a un problème dans mes déclarations ?
Je précise que je suis débutant en PHP et je suis en très grande difficulté dans le cas présent.
Bonne journée.
Modifié par Wu Xiang (25 Jul 2010 - 07:46)
Merci de vous pencher sur mon problème !
J'ai construit et affiché une (et plusieurs) image(s) avec la librairie GD en PHP.
Pour cela je crée un fichier PHP (compteur2.php) avec un code qui me construit l'image, puis je l'appelle dans ma page HTML avec <img scr="compteur2.php?pc=x">, ou x définit la longueur de l'image. Jusque là tout fonctionne très bien.
Mais, je vais devoir générer pas mal de ces images et donc je cherche à simplifier mon code dans la page HTML via l'utilisation d'une fonction, ayant pour paramètre la variable $pc (la longueur de l'image). De plus cette image devra subir des traitements (couleur, taille, texte variables, et cela se fera via des switch dans la fonction passée en paramètres).
Mais voilà, dès que je place mes lignes de code dans une fonction, (j'inclus bien sur cette fonction dans mon <body>) et que j'appelle cette fonction via PHP, l'image ne veux pas s'afficher, et j'obtiens un code erreur :
"L'image “(localhost, etc /index.php)” ne peut être affichée car elle contient des erreurs."
Par souci de clarté je n'affiche que mon body (aucun code n'est placé à l'extérieur de toute façon).
<body>
<?php
include("compteur2.php");
?>
<table width="90%" border="0">
<tr>
<td>
<div class="bar">
<?php jauge(60); ?>
</div>
</td>
</tr>
</table>
</body>
Et le code de ma fonction PHP (situé dans un fichier nommé compteur2.php).
J'ai commenté le code pour ceux qui seraient calés en fonctions en pas en GD.
function jauge($pc) //on crée la fonction jauge utilisant comme paramètre $pc
{
//le contenu de la fonction est une création d'image via GD.
header ("Content-type: image/png"); //on indique que le format retourné est une image
$image = imagecreate(250,20); //création d'une image de 250x20px
$x=($pc*250)/100; //on définit "x" qui est facteur de la variable $pc et d'un calcul
$blanc=imagecolorallocate($image, 255, 255, 255); //fond d'image blanc
$noir=imagecolorallocate($image, 0, 0, 0); //création d'une variable contenant la couleur noire
$bleu=imagecolorallocate($image, 170, 204, 238); //création d'une variable contenant le couleur bleue
imageFilledRectangle($image, 0, 0, $x, 20, $bleu);//on trace un rectangle à partir des coord x: 0 y:0 de longueur: $x, hauteur: 20 couleur: bleu
imagestring($image, 3, 110, 3, $pc."%", $noir); //cette ligne sert à afficher du texte sur l'image
imagepng($image); //on place l'image ainsi crée dans la variale $image
}
la page me retourne donc l'erreur plus haut...
Ai-je mal déclarée/appelée ma fonction ?
Il y'a un problème dans mes déclarations ?
Je précise que je suis débutant en PHP et je suis en très grande difficulté dans le cas présent.
Bonne journée.
Modifié par Wu Xiang (25 Jul 2010 - 07:46)