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 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
PHP6 mysql连接方式说明
Feb 09 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
详解PHP中的PDO类
Jul 06 PHP
php自定义时间转换函数示例
Dec 07 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 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
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
nodejs导出excel的方法
2015/06/30 NodeJs
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
python 判断自定义对象类型
2009/03/21 Python
python 不关闭控制台的实现方法
2011/10/23 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
python Cartopy的基础使用详解
2020/11/01 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
法律进学校实施方案
2014/03/15 职场文书
校长师德表现自我评价
2015/03/04 职场文书
中小企业员工手册范本
2015/05/14 职场文书
初中政治教师教学反思
2016/02/23 职场文书
Redis实现分布式锁的五种方法详解
2022/06/14 Redis