ホームページ >バックエンド開発 >PHPチュートリアル >PHP は中国語の検証コードを生成し、正しい例と間違った例を検出します

PHP は中国語の検証コードを生成し、正しい例と間違った例を検出します

步履不停
步履不停オリジナル
2019-06-06 14:24:392046ブラウズ

PHP は中国語の検証コードを生成し、正しい例と間違った例を検出します

PHP は中国語の確認コードを生成し、正しい例と間違った例を検出します。中国語の確認コードの例はまだ比較的少ないです。今日はそれらを共有します。中国語、フォント、背景色など

PHP は中国語の検証コードを生成し、正しい例と間違った例を検出します

検証コードを生成します。正しいフォント パスに注意してください。そうでないと、表示される画像が存在しません。

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[&#39;sucaihuo_code&#39;] = $captcha_code;

Ajax 検出検証コード

function checkCode() { 
    $.post("ajax.php", {code: $("#input_code").val()}, function(data) { 
        if (data == &#39;1&#39;) { 
            alert("验证码正确!"); 
        } else { 
            alert("验证码错误!"); 
        } 
 
    }, "json") 
}

推奨チュートリアル : PHP 検証コードの完全なビデオ チュートリアル

以上がPHP は中国語の検証コードを生成し、正しい例と間違った例を検出しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。