数字运算验证码应该是很常见的一种验证码了,但是thinkphp5的验证码类库并没有提供这样一种类型的验证码。
既然官方没有提供,那我们就自己整一个呗是吧 什么能难得到我们如此优秀的程序员。
接下来我就带领大家把数字运算验证码整合进thinkphp5框架。(当然了 其他框架也都是可以使用的)
下面先看看效果:

好了下面进行以下步骤:
第一步:在任意控制器写入以下代码
use zhuzong\Verify;
public function generateCode() {
# 实例化验证码类
$vif = new Verify();
# 验证码配置 默认不需要设置
$Type = array(
'FontSize' => 20, // 验证码字体大小(px)
'ImageH' => 50, // 验证码图片高度
'ImageW' => 150, // 验证码图片宽度
'ImageT' => 4, // 验证码位数
'FontType' => '1.ttf', // 验证码字体样式
'Expire' => 60, // 验证码过期时间,单位:秒
);
/*
$vif->entry();//英数混合
$vif->entry('',1);//英数混合
$vif->entry('',2);//中英混合
$vif->entry('',3);//数字运算
*/
# 生成验证码
# 默认为英数混合类型
$vif->entry($Type, 3);
}
大家应该有看到注释部分$vif->entry();//英数混合
$vif->entry('',1);//英数混合
$vif->entry('',2);//中英混合
$vif->entry('',3);//数字运算
是的 不单纯只有数字运算验证码,你也可以使用英数混合或者中英混合。第二步:打开application\common文件写入以下代码 (该文件是thinkphp应用公共(函数)文件)
use zhuzong\Verify;
function checkCode($code='') {
if(!$code)return 0;
# 实例化验证码类
$vif = new Verify();
# 验证码效验
if ($vif->check($code)) {
return 1;
} else {
return 0;
}
}
在需要用验证码的模板文件中写入以下代码:<img src="{:url('test/generateCode')}" /> //注意切换成你使用的控制器,这里只是便于演示
在需要验证验证码的控制器调用验证函数:checkCode();
第三步:访问 http://www.zhudongxu.com/article/56.html 文章末尾的 [ 下载附件 ] 按钮把获取到的附件放在extend目录下 ttf文件夹单独放在public目录下emmmm~,到这里为止基本上就已经完成thinkphp5整合数字运算验证码了 如果还有其他的什么疑问的可以加东旭编程社区群 623918245 一起讨论哦。
谢谢大家的浏览。