php验证码 php中文网,ThinkPHP 使用不同风格及中文的验证码
使用其他風(fēng)格驗(yàn)證碼
在上文《ThinkPHP 驗(yàn)證碼詳解及實(shí)例》中了解了 ThinkPHP 驗(yàn)證碼的具體用法,本文將進(jìn)一步介紹如何使用不同風(fēng)格的驗(yàn)證碼以及使用中文驗(yàn)證碼。
上文例子使用的是默認(rèn)參數(shù),也就是生成 4 位的數(shù)字驗(yàn)證碼。buildImageVerify 方法生成驗(yàn)證碼時(shí),根據(jù)不同參數(shù),可以生成不同風(fēng)格的驗(yàn)證碼。
buildImageVerify()
buildImageVerify 方法語法如下:
buildImageVerify(length, mode, type, width, height, verifyName)
參數(shù)說明:
參數(shù)
說明
length
驗(yàn)證碼字符個(gè)數(shù),默認(rèn)為 4 位。
mode
驗(yàn)證碼字符類型,默認(rèn)為數(shù)字。其他支持類型有:0字母 1數(shù)字 2大寫字母 3小寫字母 4中文 5混合(去掉了容易混淆的字符oOLl和數(shù)字01)。
type
驗(yàn)證碼的圖片類型,默認(rèn)為 png 。
width
驗(yàn)證碼圖片的寬度,默認(rèn)根據(jù)驗(yàn)證碼長(zhǎng)度自動(dòng)計(jì)算。
height
驗(yàn)證碼圖片的高度,默認(rèn)為 22px 。
verifyName
驗(yàn)證碼的 SESSION 注冊(cè)名稱,默認(rèn)為 verify 。
因此可以根據(jù)參數(shù)構(gòu)造出其他風(fēng)格的驗(yàn)證碼,如:
// 5位數(shù)字
Image::buildImageVerify(5);
// 5位大寫字母
Image::buildImageVerify(5, 2);
// 6位大小寫字母與數(shù)字混合
Image::buildImageVerify(6, 5);
中文驗(yàn)證碼
buildImageVerify 方法不支持中文驗(yàn)證碼的顯示,要使用中文驗(yàn)證碼,需要使用 GBVerify 方法。
buildImageVerify()
buildImageVerify 方法語法如下:
GBVerify(length, type, width, height, fontface, verifyName)
參數(shù)說明:
參數(shù)
說明
length
驗(yàn)證碼字符個(gè)數(shù),默認(rèn)為 4 位。
type
驗(yàn)證碼的圖片類型,默認(rèn)為 png 。
width
驗(yàn)證碼圖片的寬度,默認(rèn)根據(jù)驗(yàn)證碼長(zhǎng)度自動(dòng)計(jì)算。
height
驗(yàn)證碼圖片的高度,默認(rèn)為 50px 。
fontface
使用的字體文件,使用包含路徑的完整文件名或者將字體文件放到圖像類(Image.class.php)同目錄下,默認(rèn)使用的字體文件是 simhei.ttf (存在于 windows 的 Fonts 目錄下)。
verifyName
驗(yàn)證碼的 SESSION 注冊(cè)名稱,默認(rèn)為 verify 。
例子:
Public function verify(){
import("ORG.Util.Image");
Image::GBVerify();
}
如果一切正常,驗(yàn)證碼顯示如下:
如果數(shù)字英文的驗(yàn)證碼能正常顯示而不能顯示中文驗(yàn)證碼,那很可能是沒有讀取到正確的字體文件。將 simhei.ttf 文件拷貝至 Image.class.php 同目錄(ThinkPHP目錄/Lib/ORG/Util/)下即可。
提示
如果導(dǎo)入的是當(dāng)前項(xiàng)目下的 Image 類庫,那么需要加載 ThinkPHP 擴(kuò)展庫,否則會(huì)報(bào)語法錯(cuò)誤(Call to undefined function rand_string()):
Public function verify(){
Load('extend');
import("@.ORG.Image");
Image::GBVerify();
}
同時(shí),simhei.ttf 文件也要拷貝至 Image.class.php 同目錄(項(xiàng)目目錄/Lib/ORG/)下。
ThinkPHP 驗(yàn)證碼目前不支持大小寫英文混合(無數(shù)字)以及中英文混合的驗(yàn)證碼。
總結(jié)
以上是生活随笔為你收集整理的php验证码 php中文网,ThinkPHP 使用不同风格及中文的验证码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信产部备案系统(信产部备案)
- 下一篇: php中的fpm_PHP中的FPM是做什