溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP生成中文驗證碼并檢測對錯的案例

發(fā)布時間:2020-10-27 14:17:49 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

這篇文章主要介紹PHP生成中文驗證碼并檢測對錯的案例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

PHP生成中文驗證碼并檢測對錯實例,中文驗證碼的例子還是比較少的,今天給大家分享一下,支持自定義中文、字體、背景色等

PHP生成中文驗證碼并檢測對錯的案例

生成驗證碼,注意font字體路徑要對,否則顯示圖片不存在

session_start(); 
 
//1>設置驗證碼圖片大小的函數(shù) $image = imagecreatetruecolor(200, 60); 
//5>設置驗證碼顏色 imagecolorallocate(int im, int red, int green, int blue); $bgcolor = imagecolorallocate($image, 255, 255, 255); //#ffffff //6>區(qū)域填充 int imagefill(int im, int x, int y, int col)  (x,y) 所在的區(qū)域著色,col 表示欲涂上的顏色 imagefill($image, 0, 0, $bgcolor); 
//7>設置ttf字體 $fontface = 'simhei.ttf'; 
//7>設置字庫,實現(xiàn)簡單的數(shù)字儲備 $str = '生成中文驗證碼并檢測對錯實例';
//str_split()切割字符串為一個數(shù)組,一個中文在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()生成更好的隨機數(shù),比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檢測驗證碼

function checkCode() { 
    $.post("ajax.php", {code: $("#input_code").val()}, function(data) { 
        if (data == '1') { 
            alert("驗證碼正確!"); 
        } else { 
            alert("驗證碼錯誤!"); 
        } 
 
    }, "json") 
}

以上是PHP生成中文驗證碼并檢測對錯的案例的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

php
AI