PHP制作验证码

2023-11-02

学习PHP,它的函数库太强大了,就觉得很神奇,创建验证码也是很有意思,记录一下吧!

<?php 

header('Content-type:image/jpeg');

$width=150;
$height=100;
$element=array('a','b','c','d','e','f','g','h','i','j','k','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$string='';
for ($i=0;$i<5;$i++){//输出5个元素
	$string.=$element[rand(0, count($element)-1)];
}

$image=imagecreatetruecolor($width, $height);//制作图像
$color1=imagecolorallocate($image, rand(200, 255),rand(200, 255), rand(200, 255));
$colorBorder=imagecolorallocate($image, rand(200, 255), rand(200, 255), rand(200, 255));//加入图像边框
$colorString=imagecolorallocate($image, rand(10, 100), rand(10, 100), rand(10, 100));
imagefill($image, 0, 0, $color1);//图像填充
imagerectangle($image, 0, 0, $width-1, $height-1, $colorBorder);

for($i=0;$i<100;$i++){//制作图像上的小点点
	imagesetpixel($image, rand(0, $width-1), rand(0, $height-1), imagecolorallocate($image, rand(100, 200),  rand(100, 200), rand(100, 200)));
}

for($i=0;$i<4;$i++){//制作图像上的线条
	imageline($image,rand(0, $width) , rand(0, $height/2), rand(0, $height),rand(0, $height),imagecolorallocate($image, rand(100, 200),  rand(100, 200), rand(100, 200)));
}

//imagestring($image, 5, 0, 0, 'abcd', $colorString);
imagettftext($image, 25,5, rand(20, 50), rand(20, 70),  $colorString,'font/Pirata One.ttf' ,$string);//设置字体,font/Pirata One.ttf是我下载的字体存放目录
imagejpeg($image);	
?>

不断刷新就可以,动态验证码就完成啦!

验证码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP制作验证码 的相关文章

  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • Symfony2 Assetic 和 Less Sourcemaps

    我不确定如何破解 assetic less 过滤器以输出源映射文件 我这里指的是LessFilterhttps github com kriswallsmith assetic blob master src Assetic Filter
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • Windows 上 .NET Core 的先决条件

    https docs microsoft com zh cn dotnet articles core windows prerequisites Windows 上 NET Core 的先决条件 2017 1 5 1 分钟阅读时长 作者
  • 东南大学CTF之Flag你在哪里?

    题目 查看源代码 也只有一个Where is the flag 打开抓包软件 我用的是httpwatch 在http的响应头里面找到了flag 提交吧
  • 区块链学习笔记22——ETH-TheDAO

    区块链学习笔记22 ETH TheDAO 学习视频 北京大学肖臻老师 区块链技术与应用 笔记参考 北京大学肖臻老师 区块链技术与应用 公开课系列笔记 目录导航页 DAO Decentralized Autonomous Organizati
  • 应用服务器请求回调网络设置,回调服务器配置流程

    路由器拨号IP 10 102 24 190 一 进入医保专用路由器进行配置 三亚广慈医院 医保专用路由 192 168 133 1 密码 cwz090810yb 进入路由设置界面 点击应用管理 1 IP与MAC绑定 IP与MAC 均为本机信
  • 详解逻辑回归Logistic Regression

    详解逻辑回归Logistic Regression 详解逻辑回归Logistic Regression 什么是回归 从线性回归到Logistic回归 什么是逻辑回归 逻辑回归假设 logistic函数 logistic函数求导 逻辑回归的损
  • 深入浅出编译原理-5-一个简单语法分析器的C语言实现

    引言 前面已经介绍了编译器的预处理 词法分析 词法分析器的实现 也在其中说到了语法分析的任务和过程 语法分析的输入是词法单元序列 然后根据语言的文法表示 展开式 利用有限状态机理论 生成抽象语法树 然后遍历得到中间代码 即 三地址码 本节就
  • Spring Security - 06 修改默认的用户名和密码

    文章目录 环境 项目结构 修改默认的用户名和密码 测试 参考 环境 操作系统 Windows 10 x64 集成开发环境 Spring Tool Suite 4 Version 4 12 1 RELEASE Build Id 2021102
  • 纯 HTML+CSS+JS 编写的计算器应用

    点击上方 中兴开发者社区 关注我们 每天读一篇一线开发者原创好文 作者 dunizb 链接 segmentfault com a 1190000006977116 一道笔试题 之前偶然看到一个公司的笔试题 题目如下 用HTML5 CSS3
  • 【EI会议】2022年人工智能与统计学前沿国际会议(CFAIS 2022)

    2022年人工智能与统计学前沿国际会议 CFAIS 2022 重要信息 会议网址 www cfais org 会议时间 2022年12月16 18日 召开地点 中国北京 截稿时间 2022年10月31日 录用通知 投稿后2周内 收录检索 E
  • 需求:定义一个集合,添加一些学生对象,并进行遍历学生类的属性为:姓名,年龄。

    提示 题目答案均由博主自主编写 想法不一 答案也不一 本答案仅提供参考 如有疑问 可在评论区提问 有时间会解答 Student类 package llf test public class Student private int id pr
  • python中pass语句的作用是什么_Python中pass语句的作用

    在 Python 中 pass 是一个空语句 为了保持程序结构的完整性 一般情况下 pass 不做任何事情 被用作占位符 它的作用如下 1 空语句 do nothing 2 保证格式完整 3 保证语义完整 pass语法格式 pass 如果写
  • 发现一个好用的MySQL数据库管理工具

    免费在线MySQL数据库管理工具 平台地址 http open yesapi cn 一 管理自己的MySQL数据库 如果自己已经有一个MySQL数据库 那么可以直接配置到小白开放平台 就可以实现在线数据库管理了 首先 注册成功后 进入 设置
  • 七种寻址方式

    文章目录 1 立即寻址方式 2 直接寻址方式 3 寄存器寻址方式 4 寄存器间接寻址方式 5 寄存器相对寻址方式 6 基址加变址寻址方式 7 相对基址加变址寻址方式 七种寻址方式总结 寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址
  • Exception in thread "main" java.net.BindException: Address already in use: NET_Bind

    在Java开发Socket中 可能会出现以下信息 Exception in thread main java net BindException Address already in use NET Bind 这是由于端口被占用了 解决的办
  • C++入门(1)简单变量和数据类型

    C 入门 1 简单变量和数据类型 最近在看Larry Ullman Andreas Signer 写的 写给大家看的C 书 做了一些笔记跟大家分享 希望会有所帮助 输入输出头文件 include
  • 编程教育已经走在全球化的路上

    据格物斯坦小坦克所知 在我国 现在仍有很多人觉得编程可有可无 无关考试升学 无关未来与就业 但在国外 编程教育早早便进入校园了 他们对编程的重视程度远超出我们的想象 在国外 少儿编程教育发展程度非常高 全球很多发达国家在基础教育中设立了编程
  • python读取excel生成柱状图

    可以使用 Python 的第三方库来读取 Excel 文件 比如 pandas openpyxl 等 这些库可以方便地将 Excel 中的数据读取出来并存储到一个数据框中 pandas 中的数据结构 然后使用 matplotlib 库来生成
  • 数组16--矩阵中的路径

    数组16 矩阵中的路径 jz65 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 请设计一个函数 用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径 路径可以从矩阵中的任意一个格子开始 每一步可以在矩阵中向左 向右 向
  • git分支管理

    git分支管理 1 主分支 Master 主分支 默认不会在该分支上进行开发 只会将稳定没有bug的代码合并到该分支上 2 开发分支 Develop 主要的开发分支 在master分支的基础上创建而来 该分支主要是保持最新的代码 用于测试
  • PHP制作验证码

    学习PHP 它的函数库太强大了 就觉得很神奇 创建验证码也是很有意思 记录一下吧