一个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 相关文章推荐
通过文字传递创建的图形按钮
Oct 09 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 PHP
php笔记之常用文件操作
Oct 12 PHP
实用PHP会员权限控制实现原理分析
May 29 PHP
php 注释规范
Mar 29 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
php调用google接口生成二维码示例
Apr 28 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
解决php写入数据库乱码的问题
Sep 17 PHP
tp5.1 实现setInc字段自动加1
Oct 18 PHP
PHP实用小技巧之调用录像的方法
Dec 05 PHP
PHP RabbitMQ消息列队
May 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
浅析is_writable的php实现
2013/06/18 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
jQuery的slideToggle方法实例
2013/05/07 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
Three.js基础学习教程
2017/11/16 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
python getopt 参数处理小示例
2009/06/09 Python
用Python抢过年的火车票附源码
2015/12/07 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
SQL Server面试题
2013/04/04 面试题
精彩的大学生自我评价
2013/11/17 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
租房协议书
2014/09/12 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript