一个简单的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 相关文章推荐
global.php
Dec 09 PHP
表单复选框向PHP传输数据的代码
Nov 13 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
php生成图片验证码
Jun 09 PHP
PHP中header用法小结
May 23 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP三种方式实现链式操作详解
Jan 21 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 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
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php内嵌函数用法实例
2015/03/20 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
详解在React里使用&quot;Vuex&quot;
2018/04/02 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
Python中的作用域规则详解
2015/01/30 Python
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python中的hypot()方法使用简介
2015/05/18 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
python模拟事件触发机制详解
2018/01/19 Python
python实现图像拼接功能
2020/03/23 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Python如何实现机器人聊天
2020/09/10 Python
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
UNIX特点都有哪些
2016/04/05 面试题
办理暂住证介绍信
2014/01/11 职场文书
小学运动会表扬稿
2014/01/19 职场文书
党课心得体会范文
2014/09/09 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书