ThinkVerify类可以支持验证码的生成和验证功能。
生成验证码下面是最简单的方式生成验证码:
$Verify = new ThinkVerify(); $Verify->entry();
上面的代码会生成默认的验证码图片并输出,显示如下:
生成的验证码信息会保存到session中,包含的数据有:
array('verify_code'=>'当前验证码的值','verify_time'=>'验证码生成的时间戳')如果你需要在一个页面中生成多个验证码的话,entry方法需要传入可标识的信息,例如: 验证码1:
// 验证码1 $Verify = new ThinkVerify(); $Verify->entry(1);
验证码2:
// 验证码2 $Verify = new ThinkVerify(); $Verify->entry(2);验证码参数
可以对生成的验证码设置相关的参数,以达到不同的显示效果。 这些参数包括:
默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think/Verify/ttfs/目录下面的字体文件,我们可以指定验证码的字体,例如:
$Verify = new ThinkVerify(); // 验证码字体使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf $Verify->fontttf = '5.ttf'; $Verify->entry();背景图片
支持验证码背景图片功能,可以如下设置:
$Verify = new ThinkVerify(); // 开启验证码背景图片功能 随机使用 ThinkPHP/Library/Think/Verify/bgs 目录下面的图片 $Verify->useImgBg = true; $Verify->entry();
效果如图所示:
中文验证码如果要使用中文验证码,可以设置:
$Verify = new ThinkVerify(); // 验证码字体使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf $Verify->useZh = true; $Verify->entry();
显示效果如图:
指定验证码字符如果无法正常显示,请确认你的 ThinkPHP/Library/Think/Verify/zhttfs/ 目录下面存在中文字体文件。
3.2.1版本以上,我们可以指定验证码的字符,通过重新设置codeSet参数即可,例如:
$Verify = new ThinkVerify(); // 设置验证码字符为纯数字 $Verify->codeSet = '0123456789'; $Verify->entry();
如果是中文验证码,可以使用zhSet参数设置,例如:
$Verify = new ThinkVerify(); $Verify->useZh = true; // 设置验证码字符 $Verify->zhSet = '们以我到他会作时要动国产的一是工就年阶义发成部民可出能方进在了不和有大这'; $Verify->entry();验证码检测
可以用ThinkVerify类的check方法检测验证码的输入是否正确,例如,下面是封装的一个验证码检测的函数:
// 检测输入的验证码是否正确,$code为用户输入的验证码字符串
function check_verify($code, $id = ''){
$verify = new ThinkVerify();
return $verify->check($code, $id);
}




