php编写程序制作图形验证码,php实现图形验证码详解!
最近由于项目需要,图形验证码,就写了一个,为大家详细介绍下实现过程!
1、验证码封装实现方法
//生成验证码
public function get_img_code(){
ob_clean();
cookie('code',NULL);
session('code',NULL);
$code=$this->randStr(4);
cookie('code',$code);
session('code',$code);
$x_size=75;
$y_size=30;
$aimg = imagecreate($x_size,$y_size);
$back = imagecolorallocate($aimg,255, 255, 255);
$border = imagecolorallocate($aimg,204,53,53);
imagefilledrectangle($aimg, 10, 10, $x_size+1, $y_size+1, $back);
imagerectangle($aimg,100,100, $x_size, $y_size, $border);
imageString($aimg,30,20,8, $code,$border);
header("Pragma:no-cache");
header("Cache-control:no-cache");
header("Content-type: image/png");
imagepng($aimg);
imagedestroy($aimg);
}
//生成随机字符串
function rand_str($len){
$chars = array(
"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","D", "E", "F", "G","H","J","L", "M", "N","Q", "R","T", "U","Y", "2","3", "4", "5", "6", "7", "8", "9"
);
$charsLen = count($chars)-1;
shuffle($chars);
$outStr='';
for ($i=0;$i
2.前端展示功能
完成图形验证码
看不清,换一张
您输入的验证码错误,请重新输入
php编写程序制作图形验证码,php实现图形验证码详解!相关推荐
- Python基础(编写程序制作英文学习词典)
制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...
- 图形 2.4 传统经验光照模型详解(PBR光照计算公式介绍)
参考视频: 图形 2.4 传统经验光照模型详解 GAMES101-现代计算机图形学入门-闫令琪 P15 参考资料: PBR-learnopengl 彻底看懂PBR/BRDF方程-知乎 辐射强度.辐亮度 ...
- php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解
微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...
- wxss 点击样式_微信小程序点击控件修改样式实例详解
微信小程序点击控件修改样式实例详解 现在要在微信小程序中实现点击控件修改样式,如下: 微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它. ...
- python中验证码连通域分割的方法详解
python中验证码连通域分割的方法详解 这篇文章主要给大家介绍了关于python中验证码连通域分割的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需 ...
- 2D基本图形的Sign Distance Function (SDF)详解(下)
符号距离函数(sign distancefunction),简称SDF,又可以称为定向距离函数(oriented distance function),在空间中的一个有限区域上确定一个点到区域边 ...
- 微信小程序云开发入门(二)-数据库详解
微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...
- Dede后台验证码不显示解决方法详解
1检查看看有没有开启gd,用<?php phpinfo();?>检查. 2在include/common.inc.php打开错误报告error_reporting(E_ALL); // 报 ...
- 图形 2.4 传统经验光照模型详解
[技术美术百人计划]图形 2.4 传统经验光照模型详解_哔哩哔哩_bilibili 什么是光照模型 当光照射到物体表面时,物体对光会发生反射.透射.吸收.衍射.折射.和干涉,其中被物体吸收的部分转化为 ...
- 好程序员Java学习路线分享finalize()方法详解
好程序员Java学习路线分享finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法.. fi ...
最新文章
- 从web三层架构解析软件错误
- 【LDA学习系列】Latent Dirichlet Allocation主题模型理解
- 网工路由基础(3)RIP原理与配置
- Linux 安装Redis全过程日志
- Qt与OpenCV结合:图像显示
- Excel 转为 MySQL 语句
- SpringBoot项目请求路径中有正反斜杠的处理办法
- 微型计算机原理及应用论文,微型计算机原理及应用7030112997-TP19300101.pdf
- 【读书笔记-数据挖掘概念与技术】数据预处理
- 史上最全正则表达式语法,文末附常用表达式!
- 单应性变换(Homography)的学习与理解
- python爬虫爬取网站视频_python3爬虫爬取视频(一)
- imagemagick 压缩gif的正确姿势
- 2500个常用汉字及繁体对应
- R语言金融波动率建模|基于SGED分布的变参数ARIMA+EARCH动态预测模型的研究
- Open OnDemand部署安装使用手册
- 魅族魅蓝6简单打开usb调试模式的经验
- java 日期 yyyy_Java时间格式化时YYYY(大写)和yyyy(小写)的区别
- 第一次任务完成经历的总结
- 腾讯云的服务器解析域名步骤
热门文章
- CCF 202206-4 光线追踪 python
- 服务器硬盘热插拔检测不到,用过这么多年才知道, 原来有的设备是真的不能热插拔的!...
- AtCoder Beginner Contest 182----E. Akari
- Java并发指南6:Java内存模型JMM总结
- 018 参数估计之点估计法:矩估计法、最大似然估计
- 庆科EMW3080 mxos开发环境搭建helloworld编译
- 使用SMMU的PMU查看性能数据
- android壁纸和手机屏幕之间要怎么对应,安卓Android手机屏幕壁纸分辨率选择技巧...
- 计算机领域影响因子3.5什么水平,计算机学科SCI(包括SCI-E)影响因子排名
- 标梵分析SEM竞价托管的选择方式