我们知道,tp5其实系统内置了许多常用的功能,这就不需要我们在网上找各种各样的插件,免去了许多麻烦,下面我们就看下tp5内置的图形验证码
1、首先,确保框架安装了think-captcha扩展包(如果在官网下载的完整版的话,是全部包含了)
使用composer安装扩展包命令
composer require topthink/think-captcha
2、在应用配置文件中添加验证码的配置参数。如我这次是在后台admin模块中加的验证码,那么我就是在application/config.php中配置参数(记住是应用配置文件,不是admin/config.php)
'captcha' => [
// 验证码字符集合
'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',
// 验证码字体大小(px)
'fontSize' => 25,
// 是否画混淆曲线
'useCurve' => true,
// 验证码图片高度
'imageH' => 30,
// 验证码图片宽度
'imageW' => 100,
// 验证码位数
'length' => 5,
// 验证成功后是否重置
'reset' => true
],
3、好啦,配置完之后,就到应用了
可以直接输出整个完整的img图片标签,如使用captcha_img()方法(在模板中是{:captcha_img()}),也可以只取链接captcha_src()
4、最后一步,当然是验证验证码是否正确咯,在这里我们可以在控制器中调用验证器进行验证(继承think\Controller)
$this->validate($data,[
'captcha|验证码'=>'require|captcha'
]);//$data包含['captcha'],后面的“验证码”是在返回错误信息的时候,替换前面的captcha字段,要是没有“|验证码”,验证码错误的时候提示的是"captcha错误"
也可以手动验证
if(!captcha_check($captcha)){
//验证失败
};