Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
bonjour;
je suis entrain d'ecrire un script qui permer d'avoir une image de code aleatoire
voici le code php:
<?php
// on démarre une session pour pouvoir mémoriser le code
session_start();
// on définit les caractères utilisés pour le code généré
$liste = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// génére le code en piochant dans les caractères de la liste
$code = '';
while(strlen($code) != 6) {
$code .= $liste[rand(0,36)];
}
// on mémorise le code de 6 caractères généré en session
$_SESSION['code']=$code;
// on créé une image de 70 x 20 pixels (larg x hauteur)
$img = imageCreate(70, 20) or die ("Problème de création GD");
// Choix de la couleur de fond, ici ça donne du Gris ( RVB)
$background_color = imagecolorallocate ($img, 238, 238, 238);
// Choix de la couleur de la police, ici du noir
$ecriture_color = imagecolorallocate ($img, 0, 0, 0);
// le code la police utilisée
$code_police=5;
// on créé une image jpeg en empêchant la mise en cache
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header("Content-type: image/jpeg");
// on introduit le code dans l'image
imageString($img, $code_police,(70-imageFontWidth($code_police) * strlen("".$code.""))/2,0, $code,$ecriture_color);
// on créé une image avec une qualité médiocre de 30%
// pour éviter qu'un robot puisse la lire
imagejpeg($img,'',30);
// on libère la mémoire
imageDestroy($img);
?>mais je me retrouve avec l'errer suivant:
Fatal error: Call to undefined function: imagecreate() in c:\documents and settings\mm\bureau\easyphp1-8\home\codesecu.php on line 14
Hors ligne
Salut amina,
Petite question
ligne 9, pourquoi ".=" ?
De plus il est plutot conseillé d'utiliser imagecreatetruecolor()
Néanmoins, je pense que ton problème vient du fait que la librairie PHP_GD n'est pas activée.
Il devrait suffire de décommenter la ligne "extension=php_gd2.dll" dans le fichier de config php.
De plus, cette erreur ne devrait selon moi que s'afficher en local.
Bonne chance,
Julien
Hors ligne
salut julien merci pour la reponse
j'ai dejà fait ça et en + je travaille avec easyphp 8.1
mm pour le simple code
<?php
header ("Content-type: image/png");
$im = @imagecreatetruecolor (50, 100) or die ("Impossible de crée un flux d'image GD");
$text_color = imagecolorallocate ($im, 233, 14, 91);
imagestring ($im, 1, 5, 5, "Une simple chaîne de texte", $text_color);
imagepng ($im);
imagedestroy ($im);
?>il n'affiche pas l'image
pour ce que tu ma demander c erreur de frappe
merci
bcp
Hors ligne
pardon easy php 1.8
Hors ligne