Thinkphp框架验证码的路径目录:ThinkPHP -> Library -> Think -> Verify.class.php ,只要在控制器中实例化这个类就能实现验证码的功能了。
简单代码:$Verify = new ThinkVerify();
$Verify->entry();
验证码类会把生成的验证码写入session中,通过session('verify_code')获取值,进行比对就能进行验证码的作用了。
验证码支持的参数:
可以对生成的验证码设置相关的参数,以达到不同的显示效果。
这些参数包括:参数描述expire验证码的有效期(秒)
useImgBg是否使用背景图片 默认为false
fontSize验证码字体大小(像素) 默认为25
useCurve是否使用混淆曲线 默认为true
useNoise是否添加杂点 默认为true
imageW验证码宽度 设置为0为自动计算
imageH验证码高度 设置为0为自动计算
length验证码位数
fontttf指定验证码字体 默认为随机获取
useZh是否使用中文验证码
bg验证码背景颜色 rgb数组设置,例如 array(243, 251, 254)
seKey验证码的加密密钥
codeSet验证码字符集合 3.2.1 新增
zhSet验证码字符集合(中文) 3.2.1 新增
把参数放入实例化后的对象中对应的变量中就能改变验证码的一些效果了。
示例代码:
生成验证码//这段代码需要写在一个单独的控制器中的方法,方便调用
$Verify = new ThinkVerify();
//对指定的变量参数赋值,调整验证码效果
$Verify->fontSize = 30;
$Verify->length = 3;
$Verify->useNoise = false;
//图片输出
$Verify->entry();
调用验证码图片
src="index.php?m=home&c=login&a=checkcode"/>
验证用户输入的验证码是否正确//可以把这个写在框架公共函数库function.php中,并传入参数比较,$code为用户的输入验证码
function check_verify($code, $id = ''){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}