PHP生成图片验证码功能示例


Posted in PHP onJanuary 12, 2017

本文实例讲述了PHP生成图片验证码功能。分享给大家供大家参考,具体如下:

只是简单的用随机函数实现了图片的生成,没有对验证的整个流程做介绍。

代码如下:

<?php
/**
 * Created by JetBrains PhpStorm.
 * User: lee
 * To change this template use File | Settings | File Templates.
 */
header("content-type:image/png");
$validateLength=4;
$strToDraw="";
$chars=[
  "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",
  "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"
];
$imgW=80;
$imgH=25;
$imgRes=imagecreate($imgW,$imgH);
$imgColor=imagecolorallocate($imgRes,255,255,100);
$color=imagecolorallocate($imgRes,0,0,0);
for($i=0;$i<$validateLength;$i++){
  $rand=rand(1,58);
  $strToDraw=$strToDraw." ".$chars[$rand];
}
imagestring($imgRes,5,0,5,$strToDraw,$color);
for($i=0;$i<100;$i++){
  imagesetpixel($imgRes,rand(0,$imgW),rand(0,$imgH),$color);
}
imagepng($imgRes);
imagedestroy($imgRes);

运行效果如下:

PHP生成图片验证码功能示例

PHP 相关文章推荐
php select,radio和checkbox默认选择的实现方法
May 15 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 PHP
PHP中字符串长度的截取用法示例
Jan 12 #PHP
PHP实现二维数组去重功能示例
Jan 12 #PHP
PHP生成图片缩略图类示例
Jan 12 #PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 #PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 #PHP
YII2 实现多语言配置的方法分享
Jan 11 #PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 #PHP
You might like
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
vuejs如何配置less
2017/04/25 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
js实现车辆管理系统
2020/08/26 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
python使用psutil模块获取系统状态
2016/08/27 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
python 绘制正态曲线的示例
2020/09/24 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
学期自我鉴定
2013/11/04 职场文书
信息工程学院毕业生推荐信
2013/11/05 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
介绍信如何写
2015/01/31 职场文书
财务会计岗位职责
2015/02/03 职场文书
2014年底个人工作总结
2015/03/10 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
解决MySQL报“too many connections“错误
2022/04/19 MySQL
微信小程序调用python模型
2022/04/21 Python