ThinkPHP--验证码

TP的验证码,即Verify.class.php,此验证码可以支持验证码的生成和验证功能。

生成验证码

//实例化验证码类
$verify = new Verify();

//生成一个验证码图形
$verify->entry();

PS:生成的验证码会将信息保存在session中,可以使用print_r($_SESSION)来查看。

如果想生成多个验证码,可以传递数字参数即可

//生成第一个验证码
$verify->entry(1);

//生成第二个验证码
$verify->entry(2);

验证码参数

也就是可以对验证码进行一些设置。

参数描述
expire验证码的有效期(秒)
useImgBg是否使用背景图,默认为false
fontSize验证码字体大小(像素),默认为25
useCurve是否使用混淆曲线,默认为true
useNoise是否添加噪点,默认为true
imageW验证码宽度,设置0为自动计算
imageH验证码高度,设置0为自动计算
length验证码长度(位数)
fontttf指定验证码字体,默认为随机获取
useZh是否使用中文验证码

设置参数有两种方式:
一、初始化

//设置验证码参数
$config = array(
    'fontSize'=>30,
    'length'=>3,
    'useNoise'=>false,
);
//实例化验证码类,并传入参数
$verify = new Verify($config);
//生成验证码
$verify->entry();

二、动态方法

//实例化验证码类并传入参数
$verify = new Verify();
//验证码字体大小
$verify->fontSzie = 30;
//验证码位数
$verify->length = 3;
//关闭噪点
$verify->useNoise = false;
//设置验证码字体
$verify->fontttf = '5.ttf';  //取决于Think/Library/Think/Verify/ttfs下的字体文件
//设置背景图片,默认是白的
$verify->useImgBg = true; //开启
//设置验证码背景颜色
$verify->bg = array(200,200,200);

//设置验证码加密密钥
$verify->seKey = 'MOOM.COM';


//生成验证码
$verify->entry();

中文验证码
设置:
1、在Think/zhttfs文件夹下引入中文字体文件,比如加粗雅黑msyhbd.ttf;
2、设置字体文件:

//设置验证码字体
$verify->fontttf = 'myshbd.ttf';

3、设置中文验证码

//$verify->useZh = true;

PS:由于中文字符较大,你也可以限定指定的中文字符、

//限定中文字符
$verify->zhSet = '张三是个好人';

纯数字验证码

//设置纯数字
$verify->codeSet='0123456789';

验证码检测

可以使用Verify.class.php类中的check方法检测验证码是否输入正确。

第一步、在application/Common/Common/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)
}
//第二种写法
public function test(){
    $code = I('get.code');
    var_dump(check_verify($code));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值