thinkphp5 里没有内置验证码的类库,因此官方给出了一个类库,地址如下:https://github.com/top-think/think-captcha
具体的使用方法是:
安装
composer require topthink/think-captcha
使用
模板里输出
<div>{:captcha_img()}</div>
或者
<div>![]({:captcha_src()})</div>
以上两种方法的最终效果是一样的。
如果这样使用的话,结果一定是失败的,这还没完呢?
配置
``config.php`
配置如下
'captcha' => [
// 验证码字符集合
'codeSet' => '0123456789',
// 验证码字体大小(px)
'fontSize' => 16,
// 是否画混淆曲线
'useCurve' => false,
// 验证码图片高度
'imageH' => 30,
// 验证码图片宽度
'imageW' => 110,
// 验证码位数
'length' => 4,
// 验证成功后是否重置
'reset' => true
]
同时还要确保
'url_route_on' => true,
控制器里验证
使用TP5的内置验证功能即可
$this->validate($data,[
'captcha|验证码'=>'require|captcha' //captacha是验证码name名称
]);
或者手动验证
if(!captcha_check($captcha)){
//验证失败
};
同时加上validate验证就更好了