包 core

包 mvc

包 orm

包 form

包 database

包 helper

包 cache

包 webcontrols

包 behavior

包 exception

包 debug

类 - Helper_ImgCode

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

属性详细说明

$_config 属性

验证码的配置

方法详细说明

create() 方法

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" />

isValid() 方法

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))
        {
            .... 比对通过
        }
 
        ....
    }
}

clean() 方法

public static void clean()

清除 session 中的验证码信息


hex2rgb() 方法

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}";