Maison >développement back-end >Problème PHP >Le code de vérification PHP n'affiche pas la solution

Le code de vérification PHP n'affiche pas la solution

(*-*)浩
(*-*)浩original
2019-10-18 09:35:554340parcourir

Le code de vérification PHP n'affiche pas la solution

Solution :

1. Vérifiez si l'extension GD est installée et activée (recommandé d'apprendre : Tutoriel vidéo PHP)

2. La raison de l'en-tête de nomenclature utf-8. Utilisez Editplus ou ultraedit pour le supprimer. (https://blog.csdn.net/oscar999/article/details/6280006)

3. Problème de mise en cache dans le tampon de sortie. Avant la sortie, utilisez la fonction ob_clean pour le résoudre.

4. Avant la sortie, echo, print_r, var_dump, etc. ne peuvent pas apparaître, commenter ou supprimer pour résoudre le problème.

Le code après résolution du problème :

<?php
   
$w = 80; //设置图片宽和高
$h = 26;
$str = Array(); //用来存储随机码
$string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";//随机挑选其中4个字符,也可以选择更多,注意循环的时候加上,宽度适当调整
for($i = 0;$i < 4;$i++){
   $str[$i] = $string[rand(0,35)];
   $vcode .= $str[$i];
}
session_start(); //启用超全局变量session
$_SESSION["vcode"] = $vcode;
$im = imagecreatetruecolor($w,$h);
$white = imagecolorallocate($im,255,255,255); //第一次调用设置背景色
$black = imagecolorallocate($im,0,0,0); //边框颜色
imagefilledrectangle($im,0,0,$w,$h,$white); //画一矩形填充
imagerectangle($im,0,0,$w-1,$h-1,$black); //画一矩形框
//生成雪花背景
for($i = 1;$i < 200;$i++){
   $x = mt_rand(1,$w-9);
   $y = mt_rand(1,$h-9);
   $color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
   imagechar($im,1,$x,$y,"*",$color);
}
//将验证码写入图案
for($i = 0;$i < count($str);$i++){
   $x = 13 + $i * ($w - 15)/4;
   $y = mt_rand(3,$h / 3);
   $color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225));
   imagechar($im,5,$x,$y,$str[$i],$color);
}
ob_clean();//原来的程序没有这一栏
header("Content-type:image/jpeg"); //以jpeg格式输出,注意上面不能输出任何字符,否则出错
imagejpeg($im);
imagedestroy($im);


?>

Le résultat est le suivant :

Le code de vérification PHP naffiche pas la solution

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn