一、生成验证码
//实例化验证码类
$verfiy=new verify();
//生成一个验证码图形
$verfiy->entry();
PS: 生成的验证码会将信息保存在session中, 可以使用print_r($_SESSION)来查看。如果想生成多个验证码,可以传递数字参数即可。
//生成第一个验证码
$verfiy->entry(1);
//生成第二个验证码
$verfiy->entry(2);
二.验证码参数
可以对生成的验证码设置相关的参数,以达到不同的显示效果。
参数 描述
expire 验证码的有效期(秒)
useImgBg 是否使用背景图片 默认为 false
fontSize 验证码字体大小(像素) 默认为25
useCurve 是否使用混淆曲线 默认为 true
useNoise 是否添加杂点 默认为 true
imageW 验证码宽度 设置为0为自动计算
imageH 验证码高度 设置为0为自动计算
length 验证码位数
fontttf 指定验证码字体 默认为随机获取
useZh 是否使用中文验证码
bg 验证码背景颜色 rgb 数组设置,例如 array(243, 251, 254)
seKey 验证码的加密密钥
codeSet 验证码字符集合
zhSet 验证码字符集合(中文)
1、配置变量方式修改验证码
//设置验证码参数
$config=array(
'fontSize'=>30,
'length'=>3,
'useNoise'=>false;
);
//实例化验证码类
$verify=new Verify($config);
$verify->entry();
2、采用动态设置方式
//实例化验证码,并传入参数
$verify=new Verify();
$verify->fontSize=30;
$verify->length=3;
//生成验证码
$verify->entry();
3、如果想让验证码显示中文字符,那么需要几个步骤:
1.在 Think/zhttfs 文件夹下引入中文字体文件,比如加粗雅黑 msyhbd.ttf;
2.设置字体文件;
//设置验证码字体
$verify->fontttf = 'msyhbd.ttf';
3.设置中文验证码
//设置中文验证码
$verify->useZh = true;
PS:由于中文字符较为庞大,你也可以限定指定的中文字符。
//限定中文字符
$verify->zhSet = '李炎恢是个好人';
//设置纯数字
$verify->codeSet='0123456789';
三.验证码检测
我们可以使用 Verify.class.php 类中的 check 方法检测验证码是否输入正确。
在 function.php 里构建一个函数:
//函数$code 是验证码字符,$id 是第几个验证码,如果只有一个,可以忽略
function check_verify($code, $id = ''){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}
//通过输入验证,来验证,是否返回 true
public function test($code) {
echo $code;
var_dump(check_verify($code)); //($code, 1)
}