Pourquoi l'image ne s'affiche-t-elle pas lors de l'utilisation de la fonction GD2 pour générer un code de vérification à 4 chiffres ?
S.L
S.L 2017-08-21 20:38:54
0
1
1223

<?php
session_start();
header("content-type:image/png"); //Définissez le format de l'image créée
$image_width=70; largeur de l'image
$image_height=18; //Définissez la hauteur de l'image
srand(microtime()*100000); //Définissez la graine du nombre aléatoire
pour($i=0;$i<4;$i++){ //Boucle pour générer un nombre aléatoire à 4 chiffres
$new_number.=dechex(rand(0,15));
}
$_SESSION[check_checks]=$new_number; //Écrivez le code de vérification du nombre aléatoire obtenu dans la variable SESSION

$num_image =imagecreate($image_width,$image_height); //Créer un canevas
imagecolorallocate($num_image,255,255,255); //Définir la couleur du canevas
pour($i=0;$i<strlen($ _SESSION[check_checks]); $i++){ //Boucle pour lire le code de vérification dans la variable SESSION
$font=mt_rand(3,5),mt_rand(0,200)); de caractères
imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color); //Sortie des caractères horizontalement A}
ImagePng ($ NUM_IMAGE); du format PNG
ImageDestroy ($ num_image); // Libérer les ressources image
& Gt;

S.L
S.L

répondre à tous(1)
风豆丁

Il y a de nombreuses erreurs dans votre code.

Commentez d'abord header("content-type:image/png"); et traitez d'abord l'erreur.

Généralement, l'en-tête est placé au-dessus de la fonction imagepng() qui génère des images, afin que les erreurs puissent être facilement ajustées.

  • répondre Ce code a été copié du didacticiel, il devrait donc être correct. Cela ne fonctionne pas selon votre méthode et l'erreur suivante se produit : ( ! ) Remarque : variable non définie : new_number dans D:wamp64wwwlianxichecks.php à la ligne 7 Pile d'appels # Emplacement de la fonction de mémoire de temps 1 0,0007 244832 {principal}( ) ...checks.php:0
    S.L auteur 2017-08-22 23:22:07
  • répondre Donnez à $num_number une valeur initiale avant la boucle for, et l'indice $_SESSION doit être une chaîne. Changez-le simplement comme suit. session_start(); header("content-type:image/png"); //Définir le format de l'image créée $image_width=70; //Définir la largeur de l'image $image_height=18; //Définir la hauteur de l'image srand(microtime()*100000); //Définit la graine du nombre aléatoire $nouveau_numéro = ''; for($i=0;$i<4;$i++){ //Boucle pour générer un nombre aléatoire à 4 chiffres $nouveau_numéro .= dechex(rand(0,15)); } $_SESSION['check_checks']=$new_number; //Écrivez le code de vérification du nombre aléatoire obtenu dans la variable SESSION $num_image=imagecreate($image_width,$image_height); //Créer un canevas imagecolorallocate($num_image,255,255,255); //Définit la couleur du canevas for($i=0;$i<strlen($_SESSION['check_checks']);$i++){ //Boucle pour lire le code de vérification dans la variable SESSION $font=mt_rand(3,5); //Définir une police aléatoire $x=mt_rand(1,8)+$image_width*$i/4; //Définit la coordonnée X de l'emplacement du caractère aléatoire $y=mt_rand(1,$image_height/4); //Définit la coordonnée Y de l'emplacement du caractère aléatoire $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //Définir la couleur du caractère imagestring($num_image,$font,$x,$y,$_SESSION['check_checks'][$i],$color) //Caractères de sortie horizontaux); } imagepng($num_image); //Générer des images au format PNG imagedestroy($num_image); //Libérer les ressources d'image
    风豆丁 auteur 2017-08-23 22:23:48
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!