一个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的ob_start();控制您的浏览器cache!
Nov 25 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
PHP连接SQLServer2005 的问题解决方法
Jul 19 PHP
php中Smarty模板初体验
Aug 08 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
php简单实现快速排序的方法
Apr 04 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
PHP实现的简单sha1加密功能示例
Aug 27 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 图片上添加透明度渐变的效果
2009/06/29 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
研究生自我鉴定范文
2013/10/30 职场文书
新员工欢迎词
2014/01/12 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
大学生创业项目方案
2014/03/08 职场文书
企业办公室岗位职责
2014/03/12 职场文书
阳光体育活动实施方案
2014/05/25 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript