ThinkPHP3.2学习笔记6——功能类
验证码类Venify.class.php
验证码:captcha(全自动识别机器与人类的图灵测试);
常见的验证可以分为3种:页面上的图片形式,短信验证码,语音验证码。
介绍
方法:
- 构造方法:在实例化的时候可以传递一个数组,用于和其他成员属性config进行合并,生成新的配置。
- Check方法:校验验证码,传递参数,用户输入的验证码。
- entry方法:输出图片,保存验证码到session中。
生成常规验证码
常规验证码是指由数字+大小写字母组成的验证码。
步骤:
- 配置
- 实例化验证码类
- 输出图片
//引入验证码类
use Think\Verify;
//常规验证码
public function test45(){
//配置
$cfg = array(
'fontSize' => 20, // 验证码字体大小(px)
'useCurve' => true, // 是否画混淆曲线
'useNoise' => true, // 是否添加杂点
'length' => 5, // 验证码位数
'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
);
//实例化验证码类
$verify=new Verify($cfg);
//输出验证码
$verify->entry();
}
中文验证码
需要字体文件,字体文件可以在自己的计算机中找到:【控制面板】-【外观和个性化】-【字体】
复制具有中文字体的字体文件到ThinkPHP/Library/Think/Verify/zhttfs下
//引入验证码类
use Think\Verify;
//常规验证码
public function test46(){
//配置
$cfg = array(
'useZh' => true; //使用中文验证码
);
//实例化验证码类
$verify=new Verify($cfg);
//输出验证码
$verify->entry();
}
- 注意事项:
- 实际开不到万不得已 不要使用中文验证码
- 中文验证码需要中文字体的支持,中文字体可以在自己计算机中找到,也可以去字体网站下载
- 使用中文验证码必须开启PHP的扩展mbstring