一个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制作新闻系统的思路
Oct 09 PHP
PHP面向对象编程快速入门
Oct 09 PHP
PHP 函数学习简单小结
Jul 08 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
php下获取http状态的实现代码
May 09 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
PHP simplexml_load_file()函数讲解
Feb 03 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 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
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
Hadoop中的Python框架的使用指南
2015/04/22 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
python中eval与int的区别浅析
2019/08/11 Python
python getpass模块用法及实例详解
2019/10/07 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
什么是Python包的循环导入
2020/09/08 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
用Python写一个for循环的例子
2016/07/19 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
护理自我鉴定范文
2013/10/06 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
产品质量承诺书范文
2014/03/27 职场文书
狮子林导游词
2015/02/03 职场文书
交流会主持词
2015/07/02 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书