php验证码背景图是数字,ThinkPHP5.0.20验证码背景图片
tp5配置驗證碼相關問題
一、驗證碼背景圖片及tp中文驗證碼
5.0.1及以上支持者在應用配置目錄(application)下面 extra 子目錄內配置captcha.php文件;
配置參數如下:
'2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',
// 驗證碼字體大小(px)
'fontSize' => 15,
// 是否畫混淆曲線
'useCurve' => false,
// 驗證碼圖片高度
'imageH' => 50,
// 驗證碼圖片寬度
'imageW' => 150,
// 驗證碼位數
'length' => 5,
// 中文驗證碼
'useZh' =>true,
// 是否使用背景圖片
'useImgBg' =>true,
// 是否使用雜點
'useNoise'=>false,
// 背景顏色
'bg'=>[222, 231, 132],
// 驗證成功后是否重置
'reset' => true,
//驗證碼過期時間(秒),默認為1800秒
'expire' =>1800,
];
1,開啟驗證碼背景圖片功能(必須是開啟驗證碼背景圖片功能), 在擴展包內`think-captcha/src`目錄下新建verify目錄,然后再在zaiverify目錄下面新建bgs目錄,將背景圖片放入bgs目錄中。(官方指定的目錄與程序代碼的目錄不符合)。
官方給定代碼如下:
read())) {
if ('.' != $file[0] && substr($file, -4) == '.jpg') {
$bgs[] = $path . $file;
}
}
$dir->close();
$gb = $bgs[array_rand($bgs)];
list($width, $height) = @getimagesize($gb);
// Resample
$bgImage = @imagecreatefromjpeg($gb);
@imagecopyresampled($this->_image, $bgImage, 0, 0, 0, 0, $this->imageW, $this->imageH, $width, $height);
@imagedestroy($bgImage);
}
2,如果要使用中文驗證碼,驗證碼字體使用擴展包內`think-captcha/assets/zhttfs`目錄下面的字體文件。
二、引用及驗證
1,引用:
{:captcha_img()}
或者
2,驗證:
使用TP5的內置驗證功能,添加captcha驗證規則即可
$this->validate($data,[ 'captcha|驗證碼'=>'require|captcha' ]);
或者手動驗證
if(!captcha_check($captcha)){ //驗證失敗 };
總結
以上是生活随笔為你收集整理的php验证码背景图是数字,ThinkPHP5.0.20验证码背景图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兴业银行咕咚联名信用卡年费多少?怎么免年
- 下一篇: 广发银行信用卡积分怎么兑换立减金?兑换规