一个简单的PHP验证码实现代码


Posted in PHP onMay 10, 2014

实现代码:

<?php
 //将验证码保存到session里,供全局使用
 session_start();
 $nums = "";
 for($i=0;$i<4;$i++){
  //产生随机数并转换成十六进制
  $nums.=dechex(mt_rand(0,15));
 }
 //将验证码写入session
 $_SESSION['code']=$nums;

 //设置验证码长和宽
 $_width = 60;
 $_height = 20;
 //创建一张图片
 $_img = imagecreatetruecolor($_width,$_height);
 //创建一个白色
 $_white = imagecolorallocate($_img,220,250,250);
 //填充背景
 imagefill($_img,0,0,$_white);

 //随机画6条线条
 for($i=0;$i<6;$i++){
  $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
  imageline($_img,mt_rand(0,$_width),mt_rand(0,$_width),mt_rand(0,$_width),mt_rand(0,$_width),$_rnd_color);
 }

 //随机画出雪花
 for($i=0;$i<60;$i++){
  imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),"*",imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
 }

 //输出验证码
 for($i=0;$i<strlen($_SESSION['code']);$i++){
  imagestring($_img,mt_rand(6,10),$i*$_width/4+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
 }

 //输出和销毁
 header("Content-Type:image/png");
 imagepng($_img);
 imagedestroy($_img);
?>

PHP 相关文章推荐
function.inc.php超越php
Dec 09 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
Apr 26 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
php计算函数执行时间的方法
Mar 20 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
php生成随机密码自定义函数代码(简单快速)
May 10 #PHP
php实现按文件名搜索文件的远程文件查找器
May 10 #PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 #PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 #PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 #PHP
php使用正则过滤js脚本代码实例
May 10 #PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 #PHP
You might like
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
关于文本留言本的分页代码
2006/10/09 PHP
PHP安装攻略:常见问题解答(二)
2006/10/09 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python实现12306火车票查询器
2017/04/20 Python
Python编写Windows Service服务程序
2018/01/04 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
Python sorted对list和dict排序
2020/06/09 Python
COSETTE官网:奢华,每天
2020/03/22 全球购物
党员教师工作决心书
2014/03/13 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
文案策划岗位职责
2015/02/11 职场文书
焦点访谈观后感
2015/06/11 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书