一个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新手NOTICE错误常见解决方法
Dec 07 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
php实现的简单检验登陆类
Jun 18 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
PHP PDOStatement::errorCode讲解
Jan 31 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
linux下为php添加curl扩展的方法
2011/07/29 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
深入理解PHP内核(一)
2015/11/10 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
Python对象体系深入分析
2014/10/28 Python
Python lambda和Python def区别分析
2014/11/30 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
解析Python中while true的使用
2015/10/13 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
Django model反向关联名称的方法
2018/12/15 Python
python中count函数简单用法
2020/01/05 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
在线课程:Skillshare
2019/04/02 全球购物
医生进修自我鉴定
2014/01/19 职场文书
秋季运动会活动方案
2014/02/05 职场文书
厨师长岗位职责
2014/03/02 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
冬季安全检查方案
2014/05/23 职场文书
小区推广策划方案
2014/06/06 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
三潭印月的导游词
2015/02/12 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
golang的文件创建及读写操作
2022/04/14 Golang
如何使用python包中的sched事件调度器
2022/04/30 Python