下面由thinkphp教程欄目給大家介紹ThinkPHP5驗(yàn)證碼圖片如何生成 ,希望對(duì)需要的朋友有所幫助!
在系統(tǒng)開(kāi)發(fā)過(guò)程中,一般情況下驗(yàn)證碼是必不可少的東西,比如登錄、注冊(cè)、發(fā)表評(píng)論、上傳文件等等,驗(yàn)證碼可以防止部分惡意程序?qū)W(wǎng)站的攻擊,如果開(kāi)發(fā)的時(shí)候使用的是ThinkPHP框架,那么生成驗(yàn)證碼圖片就太簡(jiǎn)單了。下面介紹一下驗(yàn)證碼圖片的生成步驟。
1.打開(kāi)php.ini配置文件,找到如下代碼,將前面的分號(hào)去除,以開(kāi)啟圖片相關(guān)插件的使用。
extension=php_gd2.dll
2.如果顯示驗(yàn)證碼的標(biāo)簽不是img標(biāo)簽,使用如下代碼顯示驗(yàn)證碼圖片
<p>{:captcha_img()}</p>
如果是img標(biāo)簽,使用如下代碼顯示驗(yàn)證碼圖片
<p><img src="{:captcha_src()}" alt="captcha" /></p>
3.驗(yàn)證碼圖片我們可以自定義,以達(dá)到自己想要的效果,下面是關(guān)于驗(yàn)證碼的一些配置參數(shù)
參數(shù) | 描述 | 默認(rèn) |
---|---|---|
codeSet | 驗(yàn)證碼字符集合 | 略 |
expire | 驗(yàn)證碼過(guò)期時(shí)間(s) | 1800 |
useZh | 用中文驗(yàn)證碼 | false |
zhSet | 中文驗(yàn)證碼字符串 | 略 |
useImgBg | 使用背景圖片 | false |
fontSize | 驗(yàn)證碼字體大小(px) | 25 |
useCurve | 是否畫混淆曲線 | true |
useNoise | 是否添加雜點(diǎn) | true |
imageH | 驗(yàn)證碼圖片高度,設(shè)置為0為自動(dòng)計(jì)算 | 0 |
imageW | 驗(yàn)證碼圖片寬度,設(shè)置為0為自動(dòng)計(jì)算 | 0 |
length | 驗(yàn)證碼位數(shù) | 5 |
fontttf | 驗(yàn)證碼字體,不設(shè)置是隨機(jī)獲取 | 空 |
bg | 背景顏色 | [243, 251, 254] |
reset | 驗(yàn)證成功后是否重置 | true |
4.在配置文件中配置參數(shù)示例代碼
'captcha' => [ // 驗(yàn)證碼字體大小(px),根據(jù)所需進(jìn)行設(shè)置驗(yàn)證碼字體大小 'fontSize' => 18, // 是否畫混淆曲線 'useCurve' => false, // 驗(yàn)證碼圖片高度,根據(jù)所需進(jìn)行設(shè)置高度 'imageH' => '50', // 驗(yàn)證碼圖片寬度,根據(jù)所需進(jìn)行設(shè)置寬度 'imageW' => '145', // 驗(yàn)證碼位數(shù),根據(jù)所需設(shè)置驗(yàn)證碼位數(shù) 'length' => 4, // 驗(yàn)證成功后是否重置 'reset' => true, ],