Home > Article > Backend Development > PHP generates Chinese verification code and detects correct and incorrect examples
PHP generates Chinese verification codes and detects correct and incorrect examples. There are still relatively few examples of Chinese verification codes. Today I will share them with you. It supports customizing Chinese, fonts, background colors, etc.
Generate verification code, pay attention to the correct font path, otherwise the displayed image does not exist
session_start(); //1>设置验证码图片大小的函数 $image = imagecreatetruecolor(200, 60); //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue); $bgcolor = imagecolorallocate($image, 255, 255, 255); //#ffffff //6>区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色 imagefill($image, 0, 0, $bgcolor); //7>设置ttf字体 $fontface = 'simhei.ttf'; //7>设置字库,实现简单的数字储备 $str = '生成中文验证码并检测对错实例';
//str_split()切割字符串为一个数组,一个中文在utf_8为3个字符 $strdb = str_split($str, 3); //>11 $captcha_code = ''; //8>生成随机的汉子 for ($i = 0; $i < 4; $i++) { //设置字体颜色,随机颜色 $fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120)); //0-120深颜色 //随机选取中文 $in = rand(0, count($strdb)); $cn = $strdb[$in]; //将中文记录到将保存到session的字符串中 $captcha_code .= $cn; /* imagettftext (resource $image ,float $size ,float $angle ,int $x ,int $y,int $color, string $fontfile ,string $text ) 幕布 ,尺寸,角度,坐标,颜色,字体路径,文本字符串 mt_rand()生成更好的随机数,比rand()快四倍 */ imagettftext($image, mt_rand(20, 24), mt_rand(-60, 60), (40 * $i + 20), mt_rand(30, 35), $fontcolor, $fontface, $cn); } //11>存到session $_SESSION['sucaihuo_code'] = $captcha_code;
Ajax detection verification code
function checkCode() { $.post("ajax.php", {code: $("#input_code").val()}, function(data) { if (data == '1') { alert("验证码正确!"); } else { alert("验证码错误!"); } }, "json") }
Recommended tutorial : PHP Verification Code Complete Video Tutorial
The above is the detailed content of PHP generates Chinese verification code and detects correct and incorrect examples. For more information, please follow other related articles on the PHP Chinese website!