一个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类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
php根据日期显示所在星座的方法
Jul 13 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 09 PHP
php的无刷新操作实现方法分析
Feb 28 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
thinkphp实现图片上传功能分享
2014/03/04 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
javascript 面向对象思想 附源码
2009/07/07 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
angular 服务随记小结
2019/05/06 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
使用python加密自己的密码
2015/08/04 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
python如何在循环引用中管理内存
2018/03/20 Python
python matplotlib拟合直线的实现
2019/11/19 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
python接口自动化框架实战
2020/12/23 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
教师档案管理制度
2014/01/23 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
教师业务学习材料
2014/12/16 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
Golang连接并操作MySQL
2022/04/14 MySQL