用thinkphp实现验证码

来源:互联网 发布:多态 java 编辑:程序博客网 时间:2024/06/06 07:24

在做一个项目,用到thinkphp,所以在探索怎么用thinkphp生成验证码

thinkphp封装的蛮好的,用两三句话就可以实现验证码:

public function verifyImg(){$verify = new \Think\Verify();$verify->entry();}
生成的图片:


现在是全部的信息在这个$verify中,我们需要知道这个变量是个啥玩意

echo "<pre>";print_r($verify);echo "</pre>";
输出:

Think\Verify Object(    [config:protected] => Array        (            [seKey] => ThinkPHP.CN            [codeSet] => 2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY            [expire] => 1800            [useZh] =>             [zhSet] => 们。。。。(这里省略汉字)            [useImgBg] =>             [fontSize] => 25            [useCurve] => 1            [useNoise] => 1            [imageH] => 0            [imageW] => 0            [length] => 5            [fontttf] =>             [bg] => Array                (                    [0] => 243                    [1] => 251                    [2] => 254                )            [reset] => 1        )    [_image:Think\Verify:private] =>     [_color:Think\Verify:private] => )

可以看到一些重要的设置:

参数描述expire验证码的有效期(秒)useImgBg是否使用背景图片 默认为falsefontSize验证码字体大小(像素) 默认为25useCurve是否使用混淆曲线 默认为trueuseNoise是否添加杂点 默认为trueimageW验证码宽度 设置为0为自动计算imageH验证码高度 设置为0为自动计算length验证码位数fontttf指定验证码字体 默认为随机获取useZh是否使用中文验证码bg验证码背景颜色 rgb数组设置,例如 array(243, 251, 254)seKey验证码的加密密钥codeSet验证码字符集合 3.2.1 新增zhSet验证码字符集合(中文) 3.2.1 新增
所以,完整的生成代码:

<span style="white-space:pre"></span>public function verifyImg(){$config = array('font-size' => 14,<span style="white-space:pre"></span>'length' => 4); $verify = new \Think\Verify($config);$verify->entry();}
显示代码:

<img src="__MODULE__/Register/verifyImg">

效果:


Ok,显示没问题了


后续为刷新和验证




Tony,在喝雪碧,在敲代码~

2014.8.18


 

0 0