<?phprequire_once 'string.func.php';//通过GD库做验证码/*** 添加验证文字* @param int $type* @param int $length*/function buildRandomString($type=1,$length=4) {$row='';if ($type == 1) {$row = join('', range(0, 9));} else if ($type == 2) {$row = join('', array_merge(range('a', 'z'), range('A', 'Z')));} else if ($type == 3) {$row = join('', array_merge(range('a', 'z'), range('A', 'Z'), range(0, 9)));};$row = str_shuffle($row);$row = substr($row, 0, $length);return $row;}/*** 生成缩略图* @param int $type //包含数字或者英文* @param int $length 多少个字符* @param int $pixel 干扰小点的密度* @param int $dst_h 干扰线的密度* @param string //验证码在$_SESSION中的名字*/function verifyImage($type=1, $length=4, $pixel=0, $line=0, $sess_name="verify") {//session_start();//创建画布$width = 100;$height = 40;$image = imagecreatetruecolor($width, $height);$white = imagecolorallocate($image, 255, 255, 255);$black = imagecolorallocate($image, 0, 0, 0);// 用填充矩形填充画布imagefilledrectangle($image, 1, 1, $width - 2, $height - 2, $white);$chars = buildRandomString($type, $length);$_SESSION[$sess_name] = $chars;// $fontfiles = array("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN.TTC", "SIMYOU.TTF", "STZHONGS.TTF");$fontfiles = array("SIMKAI.TTF");//由于字体文件比较大,九只保留一个字体,如果有需要的同学可以自己添加字体,字体在你的电脑中的fonts文件夹里有,直接运行输入fonts就能看到相应字体for ($i = 0; $i < $length; $i++) {$size = mt_rand(14, 18);$angle = mt_rand(-15, 15);$x = 5+$i*$size;$y = mt_rand(20, 26);$fontfile = "../fonts" . $fontfiles[mt_rand(0, count($fontfiles) - 1)];$color = imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180));$text = substr($chars, $i, 1);imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);}if ($pixel) {for ($i = 0; $i < 50; $i++) {imagesetpixel($image, mt_rand(0, $width-1), mt_rand(0, $heigth - 1), $black);}}if ($line) {for ($i = 1; $i < $line; $i++) {$color = imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180));imageline($image, mt_rand(0, $width -1), mt_rand(0, $height -1), mt_rand(0, $width - 1), mt_rand(0, $heigth - 1), $color);}}header("content-type:image/gif");imagegif($image);imagedestroy($image);}

主要要点:1、如果前面没有申明session_start();则需要申明;2、字体可以在cmf输入fonts下载到自己定义的fonts文件夹;3、$_SESSION [$sess_name]可以通过$_POST获得用户输入的验证码进行比较。

php完整验证码代码相关推荐

  1. 基于hadoop和echarts的教育大数据可视化系统 毕设完整的代码+数据集

    一.摘 要 在线教育平台现在是教育体系的重要组成部分,在当前大数据时代的背景下,促进教育机构建立统一平台.统一资源管理的数字化教学系统.如何评估系统平台的健康程度.学生的学习体验和在线课程的质量对于课 ...

  2. Flink最锋利的武器:Flink SQL入门和实战 | 附完整实现代码

    作者 | 机智的王知无 转载自大数据技术与架构(ID: import_bigdata) 一.Flink SQL 背景 Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门 ...

  3. 【Android 异步操作】手写 Handler ( Handler 发送与处理消息 | Handler 初始化 | 完整 Handler 代码 )

    文章目录 一.Handler 发送与处理消息 ( 两大功能 ) 二.Handler 初始化 三.完整 Handler 代码 一.Handler 发送与处理消息 ( 两大功能 ) Handler 有两个 ...

  4. MySQL笔记12:C语言访问MYSQL数据库的完整的代码例子

    C语言访问MYSQL数据库的完整的代码例子 1.手写安装带mysql sdk 的mysql 2.新建控制台项目,项目属性中把 C:\Program Files\MySQL\MySQL Server 5 ...

  5. 基于傅里叶变换的音频重采样算法 (附完整c代码)

    前面有提到音频采样算法: WebRTC 音频采样算法 附完整C++示例代码 简洁明了的插值音频重采样算法例子 (附完整C代码) 近段时间有不少朋友给我写过邮件,说了一些他们使用的情况和问题. 坦白讲, ...

  6. Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

    本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解. 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端. 代码的所有说明,都直接作为 ...

  7. php推荐码生成,最新最全PHP生成制作验证码代码详解(推荐),验证码详解_PHP教程...

    最新最全PHP生成制作验证码代码详解(推荐),验证码详解 1.0 首先先看代码 好,现在结合以上代码,来分析分析以上用到的几个函数: ① imagecreatetruecolor(); imagecr ...

  8. 利用ffmpeg来进行视频解码的完整示例代码

    (转)利用ffmpeg来进行视频解码的完整示例代码(H.264) Decode() { FILE  * inpf; int  nWrite; int  i,p; int  nalLen; unsign ...

  9. 【ArcGIS遇上Python】ArcGIS批量处理栅格影像(NDVI)归一化完整案例代码

    文章<ArcGIS栅格影像(NDVI)归一化处理的两种方法精解>详细介绍了ArcGIS中进行NDVI影像归一化处理的两种方法,但是无法批量进行,本文就放大招用Python实现批量NDVI归 ...

最新文章

  1. mybatis学习笔记(3)-入门程序一
  2. Spring Security 入门(1-9)国际化的使用
  3. 通过setTimeout来取消因大量计算造成的网页卡顿
  4. sparksql 保存点_Spark(十二)【SparkSql中数据读取和保存】
  5. 买二手房已经过户等待银行放款,应该没有变数了吧?
  6. tomcat https 启用8443加证书
  7. 记录:编译opencv-4.1.0、opencv_contrib-4.1.0、dense_flow过程
  8. git Untracked Files Prevent Rebase
  9. 上海康桥先进制造技术创业园项目-安科瑞苏月婷
  10. 何恺明大神巨作:Faster R-CNN 论文笔记
  11. vim的设置文档【我的】
  12. 怎么实现EDIUS中“老电影”特效的制作
  13. 微信小程序项目源码springboot在线考试系统小程序+后台管理系统|前后分离VUE.js
  14. Why WPF's Text is Blurry?
  15. 使用 Docker 来快速上手中文 Stable Diffusion 模型:太乙
  16. hihocoder买零食
  17. 用python计算工资工资_python练习-工资计算器
  18. 培训班出来的人后来都怎么样了?(五)
  19. nginx请求的11个阶段
  20. STM8内部EEPROM的使用详解

热门文章

  1. python拟牛顿法迭代点绘制_最速下降法、牛顿法、拟牛顿法,Python实现高维二次目标函数优化...
  2. 洛谷——P1042 乒乓球
  3. 大话主题敏感PageRank
  4. POJ 2195 Going Home 最小费用最大流
  5. DTO(领域数据传输对象)是做什么的
  6. 14行代码AC_Zero Array(思维)
  7. [leetcode] 142.环形链表2
  8. Spring注解 (更新中)
  9. 认识5G——解开5G的神秘面纱
  10. 电脑不能打字_电脑拼音打字快速入门秘籍