扩展包内定义了一些常见用法方便使用,以下示例说明
模版内验证码的显示
<div>{:captcha_img()}</div>
或者
<div><img src="{:captcha_src()}" alt="captcha" /></div>
使用TP5的内置验证功能,添加captcha
验证规则即可
$this->validate($data,[
'captcha|验证码'=>'require|captcha'
]);
或者手动验证
if(!captcha_check($captcha)){
//验证失败
};
如果项目未开启路由,或者有实际需求可自行调用Captcha
类操作
如果你需要在一个页面中生成多个验证码的话,entry方法需要传入可标识的信息,例如:
$captcha = new Captcha();
return $captcha->entry(1);
验证码的验证:可以用Captcha
类的check方法检测验证码的输入是否正确,例如,下面是封装的一个验证码检测的函数:
// 检测输入的验证码是否正确,$code为用户输入的验证码字符串,$id多个验证码标识
$captcha = new Captcha();
}
Captcha
类带有默认的配置参数,支持自定义配置。这些参数包括:
参数设置使用两种方式。实例化传入参数:
$config = [
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 3,
// 关闭验证码杂点
'useNoise' => false,
];
$captcha = new Captcha($config);
return $captcha->entry();
或者采用动态设置的方式,如:
$captcha = new Captcha();
$captcha->fontSize = 30;
$captcha->length = 3;
验证码字体
背景图片
支持验证码背景图片功能,可以如下设置:
$captcha = new Captcha();
// 开启验证码背景图片功能 随机使用扩展包内`think-captcha/assets/bgs`目录下面的图片
$captcha->useImgBg = true;
return $captcha->entry();
中文验证码
如果要使用中文验证码,可以设置:
$captcha = new Captcha();
//中午 验证码字体使用扩展包内`think-captcha/assets/zhttfs`字体文件
$captcha->useZh = true;
return $captcha->entry();
指定验证码字符
指定验证码的字符,可以设置:
$captcha = new Captcha();
// 设置验证码字符为纯数字
$captcha->codeSet = '0123456789';
return $captcha->entry();
$captcha = new Captcha();
$captcha->useZh = true;
// 设置验证码字符