按照文档 composer了半天后发现 不用安装think-captcha 扩展包 验证码也能用
demo如下:
1.在config添加如下信息:
'captcha' => [
// 验证码字符集合
'codeSet' => 'abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',
// 验证码字体大小(px)
'fontSize' => 18,
// 是否画混淆曲线
'useCurve' => true,
//是否画混淆杂点
'useNoise' => true,
// 验证码图片宽度
'imageW' => 138,
// 验证码图片高度
'imageH' => 43,
// 验证码位数
'length' => 4,
// 验证成功后是否重置
'reset' => true
],
2.在前端页面直接使用(没错,什么也不用搞,config添加后就直接可以使用):
<input type="text" name="authcode" minlength="4" placeholder="请输入验证码" maxlength="4">
<img src="{:captcha_src()}" alt="captcha" onclick="this.src='{:captcha_src()}?'+'id='+Math.random()" style="cursor:pointer; vertical-align: middle;"/>
3.后台验证:
//$authcode 前端传递的用户输入值
if(!captcha_check($authcode)){
return ['code'=>'201','msg'=>'验证码有误!'];
};
#省事?就这么省事!
*(此方法为tp验证码最基础、入门级用法,高阶请自行扩展!)
【对于有些验证码不出现的问题,(针对安装think-captcha 扩展包的童鞋,且与上述内容无关。) 在验证码控制器,用ob_clean();清空缓存就OK。】