最近由于项目需要,图形验证码,就写了一个,为大家详细介绍下实现过程!

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实现图形验证码详解!相关推荐

  1. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  2. 图形 2.4 传统经验光照模型详解(PBR光照计算公式介绍)

    参考视频: 图形 2.4 传统经验光照模型详解 GAMES101-现代计算机图形学入门-闫令琪 P15 参考资料: PBR-learnopengl 彻底看懂PBR/BRDF方程-知乎 辐射强度.辐亮度 ...

  3. php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...

  4. wxss 点击样式_微信小程序点击控件修改样式实例详解

    微信小程序点击控件修改样式实例详解 现在要在微信小程序中实现点击控件修改样式,如下: 微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它. ...

  5. python中验证码连通域分割的方法详解

    python中验证码连通域分割的方法详解 这篇文章主要给大家介绍了关于python中验证码连通域分割的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需 ...

  6. 2D基本图形的Sign Distance Function (SDF)详解(下)

       符号距离函数(sign distancefunction),简称SDF,又可以称为定向距离函数(oriented distance function),在空间中的一个有限区域上确定一个点到区域边 ...

  7. 微信小程序云开发入门(二)-数据库详解

    微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...

  8. Dede后台验证码不显示解决方法详解

    1检查看看有没有开启gd,用<?php phpinfo();?>检查. 2在include/common.inc.php打开错误报告error_reporting(E_ALL); // 报 ...

  9. 图形 2.4 传统经验光照模型详解

    [技术美术百人计划]图形 2.4 传统经验光照模型详解_哔哩哔哩_bilibili 什么是光照模型 当光照射到物体表面时,物体对光会发生反射.透射.吸收.衍射.折射.和干涉,其中被物体吸收的部分转化为 ...

  10. 好程序员Java学习路线分享finalize()方法详解

    好程序员Java学习路线分享finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法.. fi ...

最新文章

  1. 从web三层架构解析软件错误
  2. 【LDA学习系列】Latent Dirichlet Allocation主题模型理解
  3. 网工路由基础(3)RIP原理与配置
  4. Linux 安装Redis全过程日志
  5. Qt与OpenCV结合:图像显示
  6. Excel 转为 MySQL 语句
  7. SpringBoot项目请求路径中有正反斜杠的处理办法
  8. 微型计算机原理及应用论文,微型计算机原理及应用7030112997-TP19300101.pdf
  9. 【读书笔记-数据挖掘概念与技术】数据预处理
  10. 史上最全正则表达式语法,文末附常用表达式!
  11. 单应性变换(Homography)的学习与理解
  12. python爬虫爬取网站视频_python3爬虫爬取视频(一)
  13. imagemagick 压缩gif的正确姿势
  14. 2500个常用汉字及繁体对应
  15. R语言金融波动率建模|基于SGED分布的变参数ARIMA+EARCH动态预测模型的研究
  16. Open OnDemand部署安装使用手册
  17. 魅族魅蓝6简单打开usb调试模式的经验
  18. java 日期 yyyy_Java时间格式化时YYYY(大写)和yyyy(小写)的区别
  19. 第一次任务完成经历的总结
  20. 腾讯云的服务器解析域名步骤

热门文章

  1. CCF 202206-4 光线追踪 python
  2. 服务器硬盘热插拔检测不到,用过这么多年才知道, 原来有的设备是真的不能热插拔的!...
  3. AtCoder Beginner Contest 182----E. Akari
  4. Java并发指南6:Java内存模型JMM总结
  5. 018 参数估计之点估计法:矩估计法、最大似然估计
  6. 庆科EMW3080 mxos开发环境搭建helloworld编译
  7. 使用SMMU的PMU查看性能数据
  8. android壁纸和手机屏幕之间要怎么对应,安卓Android手机屏幕壁纸分辨率选择技巧...
  9. 计算机领域影响因子3.5什么水平,计算机学科SCI(包括SCI-E)影响因子排名
  10. 标梵分析SEM竞价托管的选择方式