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