php實現(xiàn)的簡單中文驗證碼功能示例
本文實例講述了php實現(xiàn)的簡單中文驗證碼功能。分享給大家供大家參考,具體如下:
img.php
<?php session_start(); /*for($i=0;$i<4;$i++) { $rand .= dechex(rand(1,15)); } $_SESSION[check_pic] = $rand; */ $image = imagecreatetruecolor(100, 30); $bg = imagecolorallocate($image, 0, 0, 0); $color = imagecolorallocate($image, 255, 255, 255); //imagestring($image, rand(1,6), rand(3,60), rand(3,15), $rand, $color); for($i=0;$i<3;$i++) { $color2 = imagecolorallocate($image, rand(0,255), rand(0,255),rand(0,255)); imageline($image, rand(0,100), 0, 100, 30, $color2); } //rand() ---->0-max 不大于100 for($i=0;$i<200;$i++) { imagesetpixel($image, rand()%100, rand()%30, $color2); } //$str = iconv("gbk", "utf-8", "中"); $str = "中國"; $_SESSION[check_pic] = $str; //解決中文,頁面本身為utf-8 $str = mb_convert_encoding($str, "html-entities","utf-8" ); //2:字體大小 3:傾斜角度 x , y 坐標 imagettftext($image, 12, 0, 20, 20, $color, 'MSYH.TTF', $str); //輸出圖片 header("Content-type: image/jpeg;charset=utf-8"); imagejpeg($image); /*修改eclipse的配置,可以使得eclipse的新建項目的默認編碼直接為UTF-8 在菜單欄的 Window->Preferences->General->Workspace->Text file encoding 將其改為UFT-8即可。*/ ?>
sub.php
<?php header("Content-type: text/html;charset=utf-8"); session_start(); if($_POST[check]) { if($_POST[check]==$_SESSION[check_pic]) { echo "驗證碼正確:".$_SESSION[check_pic]; } else { echo "驗證碼錯誤:".$_SESSION[check_pic]; } } ?> <form action="" method="post"> <img alt="" src="img.php"><br/> <input type="text" name="check"><br/> <input type="submit" value="提交"> </form>
運行效果圖如下:
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP實現(xiàn)十進制數(shù)字與二十六進制字母串相互轉(zhuǎn)換操作示例
這篇文章主要介紹了PHP實現(xiàn)十進制數(shù)字與二十六進制字母串相互轉(zhuǎn)換操作,涉及php字符串遍歷、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2018-08-08phpMyAdmin出現(xiàn)無法載入 mcrypt 擴展,請檢查PHP配置的解決方法
出現(xiàn)以下幾種情況后可能會造成運行phpmyadmin程序提示 無法載入 mcrypt 擴展,請檢查 PHP 配置 的 錯誤提示2012-03-03