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