PHP生成中文驗證碼並檢測對錯範例,中文驗證碼的例子還是比較少的,今天給大家分享一下,支援自定義中文、字型、背景色等
生成驗證碼,注意font字型路徑要對,否則顯示圖片不存在
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檢測驗證碼
function checkCode() { $.post("ajax.php", {code: $("#input_code").val()}, function(data) { if (data == '1') { alert("驗證碼正確!"); } else { alert("驗證碼錯誤!"); } }, "json") }
推薦教學:PHP驗證碼完整視訊教學
以上就是PHP生成中文驗證碼並檢測對錯範例的詳細內容,更多請關注TW511.COM其它相關文章!