| 包 | helper | 
|---|---|
| 类层次 | class Helper_ImgCode | 
| 版本 | $Id: imgcode.php 2642 2009-08-07 08:26:39Z dualface $ | 
Helper_ImgCode 类提供验证码生成和检验的接口
| 方法 | 描述 | 定义于 | 
|---|---|---|
| create() | 利用 GD 库产生验证码图像,并封装为 QView_Output 对象 | Helper_ImgCode | 
| isValid() | 比较输入的验证码是否和 session 中保存的验证码一致(不区分大小写) | Helper_ImgCode | 
| clean() | 清除 session 中的验证码信息 | Helper_ImgCode | 
| hex2rgb() | 将 16 进制颜色值转换为 rgb 值 | Helper_ImgCode | 
public static QView_Output create($length, $lefttime, $style, $options)
| $length | int | 验证码的长度 | 
| $lefttime | int | 验证码的有效期 | 
| $style | string | 验证码的样式 | 
| $options | array | 具体验证码样式的选项 | 
| {return} | QView_Output | 包含验证码图像的输出对象 | 
利用 GD 库产生验证码图像,并封装为 QView_Output 对象
$style 参数值不同时,$options 参数包含的选项也不同。
用法:
// 控制器文件
class Controller_Default
{
    function actionImgcode()
    {
        // 在控制器中用下列代码返回一个图像验证码
        return Helper_ImgCode::create(6, 900, 'simple');
    }
}
 
// 模板文件中使用下列代码引用一个图像验证码
<img src="<?php echo url('default/imgcode'); ?>" border="0" />
  public static boolean isValid($code, $clean_session, $case_sensitive)
| $code | string | 要比对的验证码 | 
| $clean_session | boolean | 是否在比对通过后清理 session 中保存的验证码 | 
| $case_sensitive | boolean | 是否区分大小写 | 
| {return} | boolean | 比对结果 | 
比较输入的验证码是否和 session 中保存的验证码一致(不区分大小写)
用法:
// 控制器文件 class Controller_Default { function actionLogin() { if (Helper_ImgCode::isValid($this->_context->imgcode)) { .... 比对通过 } .... } }
public static void clean()
清除 session 中的验证码信息
public static array hex2rgb($color, $default)
| $color | string | 颜色值 | 
| $default | string | 使用无效颜色值时返回的默认颜色 | 
| {return} | array | 由 RGB 三色组成的数组 | 
将 16 进制颜色值转换为 rgb 值
用法:
$color = '#369'; list($r, $g, $b) = Helper_Image::hex2rgb($color); echo "red: {$r}, green: {$g}, blue: {$b}";