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产生动态的影像图
Oct 09 PHP
php IP转换整形(ip2long)的详解
Jun 06 PHP
浅析php变量作用域的一些问题
Aug 08 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
php中字符串和正则表达式详解
Oct 23 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
php实现的三个常用加密解密功能函数示例
Nov 06 PHP
php常用的工具开发整理
Sep 26 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 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者的疑难问答(2)
2006/10/09 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
jQuery特殊符号转义的实现
2016/11/30 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
tensorflow的计算图总结
2020/01/12 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
英语故事演讲稿
2014/04/29 职场文书
会计求职信
2014/05/29 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
检讨书怎么写
2015/01/23 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
学习计划是什么
2019/04/30 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
mysql脏页是什么
2021/07/26 MySQL
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript