thinkphp3.2把验证码类放到核心目录里面了
ThinkPHP\Library\Think\Verify.class.php
Verify类对外只暴露两个方法
entry($id = '')
生产验证码:输出验证码并把验证码的值保存的session中
不传id时保存如下
$session['verify_code'] = $code; // 把校验码保存到session $session['verify_time'] = $_SERVER['REQUEST_TIME'];
传id时保存如下
$session[$id]['verify_code'] = $code; // 把校验码保存到session $session[$id][['verify_time'] = $_SERVER['REQUEST_TIME'];
验证验证码:对比$code(用户传入的验证码)和session中的值对比
check($code, $id = '')
测试如下
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { //显示验证码 public function index() { $Verify = new \Think\Verify(); $Verify->entry(); } //模拟验证 public function verify() { $code = $_REQUEST['code'] = 'wnmfm'; $Verify = new \Think\Verify(); if ($Verify->check($code)) { echo '验证通过'; } else { echo '验证失败'; } } }
Verify类构造函数__construct($config = array()) 去合并配置信息
创建验证码时可以写成如下配置指定生产大小
$config = array( 'imageH' => 300, // 验证码图片高度 'imageW' => 500, // 验证码图片宽度 ); $Verify = new \Think\Verify($config); $Verify->entry();