一个PHP验证码类代码分享(已封装成类)

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?php
session_start();
Header("Content-type: image/gif");
class SecurityCode
{
private $codes = '';
function __construct()
{
$code = '0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z';
$codeArray = explode('-',$code);
shuffle($codeArray);
$this->codes = implode('',array_slice($codeArray,0,4));
}
public function CreateImg()
{
$_SESSION['check_pic'] = $this->codes;
$img = imagecreate(70,25);
imagecolorallocate($img,222,222,222);
$testcolor1 = imagecolorallocate($img,255,0,0);
$testcolor2 = imagecolorallocate($img,51,51,51);
$testcolor3 = imagecolorallocate($img,0,0,255);
$testcolor4 = imagecolorallocate($img,255,0,255);
for ($i = 0; $i < 4; $i++)
{
imagestring($img,rand(5,6),8 + $i * 15,rand(2,8),$this->codes[$i],rand(1,4));
}
imagegif($img);
}
}
$code = new SecurityCode();
$code->CreateImg();
$code = NULL;
?>

封装成类之后,加入了构造函数,使用起来也方便些。你也可以继续完善下这个验证码类,比如加入析构函数,如何更节省内存等等。

相关文章

php中获取主机名、协议及IP地址的方法

本文实例讲述了php中获取主机名、协议及IP地址的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$hostname=gethostbyaddr($_SERVER[...

ThinkPHP中实例Model方法的区别说明

在TP中,我们可以用下面两种方法去创建一个数据表的映射对象(我暂时用到的) 第一种:$Test = D('Test') 第二种:$Test = new Model('Test') 虽然这...

PHP正则过滤处理微信昵称中emoji字符的方法

本文实例讲述了PHP正则过滤处理微信昵称中emoji字符的方法。分享给大家供大家参考,具体如下: 今天刚做了一个微信应用,在获取微信昵称的过程中报错了,经查原因是微信昵称中包含emoji...

php中常用的预定义变量小结

复制代码 代码如下: <?php echo "当前操作系统信息".PHP_OS."<br/>"; echo '本文件路径和文件名为:'.__FILE__.'<br...

解决phpmyadmin 乱码,支持gb2312和utf-8

解决phpmyadmin 乱码,支持gb2312和utf-8˂!-- google 的广告条 2005年09月20日换位置 唉,22号被停了.郁闷,没作弊呀 11.27日...