php實(shí)現(xiàn)的簡(jiǎn)單中文驗(yàn)證碼功能示例
本文實(shí)例講述了php實(shí)現(xiàn)的簡(jiǎn)單中文驗(yà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 = "中國(guó)";
$_SESSION[check_pic] = $str;
//解決中文,頁(yè)面本身為utf-8
$str = mb_convert_encoding($str, "html-entities","utf-8" );
//2:字體大小 3:傾斜角度 x , y 坐標(biāo)
imagettftext($image, 12, 0, 20, 20, $color, 'MSYH.TTF', $str);
//輸出圖片
header("Content-type: image/jpeg;charset=utf-8");
imagejpeg($image);
/*修改eclipse的配置,可以使得eclipse的新建項(xiàng)目的默認(rèn)編碼直接為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 "驗(yàn)證碼正確:".$_SESSION[check_pic];
} else {
echo "驗(yàn)證碼錯(cuò)誤:".$_SESSION[check_pic];
}
}
?>
<form action="" method="post">
<img alt="" src="img.php"><br/>
<input type="text" name="check"><br/>
<input type="submit" value="提交">
</form>
運(yùn)行效果圖如下:

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php簡(jiǎn)單統(tǒng)計(jì)中文個(gè)數(shù)的方法
- PHP統(tǒng)計(jì)目錄中文件以及目錄中目錄大小的方法
- php中計(jì)算中文字符串長(zhǎng)度、截取中文字符串的函數(shù)代碼
- PHP 實(shí)現(xiàn)字符串翻轉(zhuǎn)(包含中文漢字)的實(shí)現(xiàn)代碼
- php與javascript正則匹配中文的方法分析
- php自定義截取中文字符串-utf8版
- php實(shí)現(xiàn)的中文分詞類完整實(shí)例
- php中文字符串截取多種方法匯總
- PHP的Json中文處理解決方案
- php自定義函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)中文字符串長(zhǎng)度的方法小結(jié)
相關(guān)文章
關(guān)于JSON以及JSON在PHP中的應(yīng)用技巧
這篇文章主要介紹了關(guān)于JSON以及JSON在PHP中的應(yīng)用技巧。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11
PHP接口繼承及接口多繼承原理與實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP接口繼承及接口多繼承原理與實(shí)現(xiàn)方法,簡(jiǎn)單描述了接口繼承與多接口繼承的概念、原理,并結(jié)合實(shí)例形式給出了php接口繼承的具體實(shí)現(xiàn)與使用等操作技巧,需要的朋友可以參考下2017-10-10
使用純php代碼實(shí)現(xiàn)頁(yè)面?zhèn)戊o態(tài)的方法
這篇文章主要介紹了使用純php代碼實(shí)現(xiàn)頁(yè)面?zhèn)戊o態(tài)的方法,涉及php服務(wù)器預(yù)定義變量及正則匹配的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
PHP字符編碼問(wèn)題之GB2312 VS UTF-8解決方法
今天照著書(shū)隨便寫了段代碼,代碼意圖是將字符串使用str_split()函數(shù)進(jìn)行分割成數(shù)組,英文好說(shuō),但分割中文(兩個(gè)中文一個(gè)數(shù)組單元)時(shí)就出問(wèn)題了2011-06-06
ThinkPHP實(shí)現(xiàn)遞歸無(wú)級(jí)分類——代碼少
這篇文章通過(guò)一段簡(jiǎn)短的代碼實(shí)現(xiàn)了ThinkPHP實(shí)現(xiàn)遞歸無(wú)級(jí)分類,,需要的朋友可以參考下2015-07-07
php 連接mssql數(shù)據(jù)庫(kù) 初學(xué)php筆記
如果實(shí)現(xiàn)了PHP和MySQL鏈接了,PHP和MSSQL的鏈接其實(shí)很簡(jiǎn)單; 支持MSSQL的本地鏈接和遠(yuǎn)程鏈接2010-03-03
php強(qiáng)制用戶轉(zhuǎn)向www域名的方法
這篇文章主要介紹了php強(qiáng)制用戶轉(zhuǎn)向www域名的方法,可實(shí)現(xiàn)模擬301重定向的功能,并且針對(duì)無(wú)法head重定向的情況輸出鏈接,需要的朋友可以參考下2015-06-06

