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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
初学PHP的朋友 经常问的一些问题。不断更新
Aug 11 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
PHP5多态性与动态绑定介绍
Apr 03 PHP
php中smarty区域循环的方法
Jun 11 PHP
Yii2中cookie用法示例分析
Jul 18 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
Jul 18 PHP
PHP递归实现汉诺塔问题的方法示例
Nov 25 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
PHP网页缓存技术优点及代码实例
Jul 29 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
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
第十四节 命名空间 [14]
2006/10/09 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
jQuery 表格插件整理
2010/04/27 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
python pandas修改列属性的方法详解
2018/06/09 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
学生会竞选演讲稿
2014/04/24 职场文书
环保倡议书100字
2014/05/15 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
安全生产宣传标语
2014/06/06 职场文书
合作意向书
2014/07/30 职场文书
公司周年庆典标语
2014/10/07 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
总经理致辞
2015/07/29 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis