一个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正则匹配汉字的方法介绍

php正则匹配汉字! /^[\x{4e00}-\x{9fa5}]+$/u以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式大家可能会觉得很简单,实际上不同编码,不同程...

深入理解PHP的远程多会话调试

深入理解PHP的远程多会话调试

一、背景介绍 本文主要给大家介绍了关于PHP远程多会话调试的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 解决什么问题:多个项目断点调试,www.mysit...

解析smarty模板中类似for的功能实现

1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$smarty.section.total.in...

PHP读取txt文本文件并分页显示的方法

本文实例讲述了PHP读取txt文本文件并分页显示的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php     se...

解析VS2010利用VS.PHP插件调试PHP的方法

解析VS2010利用VS.PHP插件调试PHP的方法

1、安装VS.PHP插件2、新建PHP工程:如下图,选择PHP 4 webproject创建PHP工程。 3、新建PHP页 4、添加PHP代码 5、设置起始页 6、设置断点...