ThinkPHP 验证码

一、生成验证码


//实例化验证码类

$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)
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值