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


Posted in PHP onJuly 17, 2011
<?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 删除cookie和浏览器重定向
Mar 16 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
PHP 验证码的实现代码
Jul 17 #PHP
PHP中用hash实现的数组
Jul 17 #PHP
PHP中文分词的简单实现代码分享
Jul 17 #PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 #PHP
从手册去理解分析PHP session机制
Jul 17 #PHP
php数组的一些常见操作汇总
Jul 17 #PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 #PHP
You might like
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
python中随机函数random用法实例
2015/04/30 Python
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
python系列 文件操作的代码
2019/10/06 Python
Python中的延迟绑定原理详解
2019/10/11 Python
python无序链表删除重复项的方法
2020/01/17 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
六查六看剖析材料
2014/02/15 职场文书
区域经理岗位职责
2015/02/02 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers