php中如何将验证码放入页面,如何在php中生成验证码图片

1.获取生成验证码字体:

在php文件路径新建一个fonts文件夹,里面有字体文件。

//判定字体资源

if(empty($fonts))

$fonts="arial.ttf";

//确认字体路径

$fonts=__DIR__."/fonts/".$fonts;

$fonts=str_replace("/","\\",$fonts);

2.制作画布,随机分配背景色

$img=imagecreatetruecolor($width,$height);

$bg_color=imagecolordeallocate($img,mt_rand(200,255),mt_rand(200,250));

imagefilter($img,0,0,$bg_color);

3.增加干扰点、线

//增加干扰点:*

for($i = 0;$i < 50;$i++)

{

//随机颜色

$dots_color = imagecolorallocate($img, mt_rand(140,190), mt_rand(140,190), mt_rand(140,190));

//使用*号作为干扰点

imagestring($img, mt_rand(1,5), mt_rand(0,$width), mt_rand(0,$height), '*', $dots_color);

}

//增加干扰线

for($j = 0;$j < 10;$j++)

{

//随机线段颜色

$line_color = imagecolorallocate($img, mt_rand(80,130), mt_rand(80,130), mt_rand(80,130));

//随机线段

imageline($img,mt_rand(0,$width),mt_rand(0,$height),mt_rand(0,$width),mt_rand(0,$height),$line_color);

}

4.将验证码放入图片

$captcha=array(3,4,'a','i');//可以自己使用写一个方法生成数组;

$length=sizeof($captcha);

for($i = 0;$i < $length;$i++){

//给每个字符分配不同颜色

$c_color = imagecolorallocate($img, mt_rand(0,60), mt_rand(0,60), mt_rand(0,60));

//增加字体空间、大小、角度显示

imagettftext($img,mt_rand(15,25),mt_rand(-45,45),$width/($length+1)*($i+1),mt_rand(25,$height-25),$c_color,$fonts,$captcha[$i]);

}

5.保存图片

imagejpeg($img,"test.jpg",100);

推荐:php视频教程 php教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无法确定域的标识_标识标牌设计的基本要求:虽然是基本要求,你未必也都知道哦...

标识设计不仅是实用物的设计,也是一种图形艺术的设计。标识圈认为标识标牌设计须充分考虑其实现的可行性,标识设计不是要与众不同&#xff0c;而是要善与人同&#xff0c;能被受众迅速归类。当我们在大街上看到一个路标&#xff0c;一个招牌&#xff0c;它给到我的只有一个信息…

JAVA入门级教学之(static关键字)

static关键字&#xff1a; package com.lbj.javase07; /*** "中国人"类* * 什么时候成员变量声明为实例变量呢&#xff1f;* -所有对象都有这个属性&#xff0c;但是这个属性的值会随着对象的变化而变化【不同对象的这个属性具体的值不同】* * 什么时候成员变量声…

怎样配oracle环境,oracle配置会话环境(set命令)

一般在SQL>下进行SQLPLUS操作&#xff0c;都需要进行必要的环境设置才能完成我们所需要的输出。所有环境的设置由SET命令加相应的环境变量来完成。下面是常用的环境设置&#xff1a;2.5.1ARRAYSIZE(取回的行数)SET ARRAY[SIZE]{integer}一次可以提取(Fetch)的行的数目&#…

rpgmvp图片怎么看_拼多多商城图片和视频下载不了怎么办,看这里。。。。

最近拼多多商城规则变动&#xff0c;很多软件都不能下载拼多多商城图片和视频。小编今天试了一种新的方法可以同时下载商城里的图片和视频。现在一起来看看是如何操作的吧。准备软件&#xff1a;下图高手高级版软件实例操作步骤1、打开拼多多商城&#xff0c;按F12进入开发者工…

JAVA入门级教学之(static静态代码块)

定义一个测试类测试static静态代码块&#xff1a; package com.lbj.javase08; /*** 可以使用static关键字来定义"静态代码块"* * 1.语法格式&#xff1a;* static{* java语句;* }* * 2.静态代码块在类加载的时候执行&#xff0c;并且只执行一次* * 3.静态…

oracle关闭rs,Oracle 关闭(shutdown immediate)时hang住

昨天晚上生产的两套10.2.0.4的数据库修改了参数&#xff0c;需要重启。在发出shutdown immediate命令后等了大概10分钟的时间&#xff0c;数据库还没有down下来。检查后台alert日志&#xff0c;发现从开始shutdown到最后只输出几条日志&#xff0c;其中最后一条日志是&#xff…

web大作业介绍自己的家乡_襄阳市恒大名都小学2018—2019年度寒假实践作业

亲爱的同学们&#xff1a; 经过一个学期的成长&#xff0c;我们带着满满的收获开启了期盼已久的寒假生活。那么如何让这个寒假生活变得多姿多彩&#xff0c;充满意义呢&#xff1f;为了让我们度过一个健康、愉快、长知识、增才干&#xff0c;获得幸福感的寒假&#xff0c;…

JAVA入门级教学之(方法重写/方法重载)

方法重写&#xff1a; package com.lbj.javase10;public class Bird extends Animal {public void move(){System.out.println("鸟会飞");} }package com.lbj.javase10;public class Cat extends Animal{public void move(){System.out.println("猫会爬")…

oracle 异常返回值,oracle - java.sql.SQLException:无效的列类型:调用具有行类型返回值的函数时为1111 - 堆栈内存溢出...

我在一个名为“ MyPackage”的Oracle软件包中有一个函数&#xff1a;FUNCTION MyFunction(name IN VARCHAR2) RETURN MyTable%rowtype;我正在尝试通过JDBC调用它。CallableStatement cs connection.prepareCall("{ ? call MyPackage.MyFunction(?) }");cs.regist…

台式电脑键盘按键错乱_收藏篇:电脑键盘上的每个按键的作用和命令你都会用么...

办公&#xff0c;家用&#xff0c;设计&#xff0c;游戏等等都了解电脑键盘上的全部功能么&#xff1f;F1帮助F2改名F3搜索F4地址F5刷新F6切换F10菜单CTRLA全选CTRLC复制CTRLX剪切CTRLV粘贴CTRLZ撤消CTRLO打开SHIFTDelete永久删除Delete删除ALTENTER属性ALTF4关闭CTRLF4关闭ALT…

docker 安装 oracle12,Centos7下利用docker安装oracle12c

实战在windows局域网下可以进行连接&#xff0c;并执行sql语句&#xff1a;执行结果具体的步骤如下&#xff1a;1、在centos7下安装docker[rootlocalhost /]# yum install docker2、启动docker[rootlocalhost /]# systemctl start docker.service3、查找docker镜像可以在docker…

JAVA入门级教学之(多态)

JAVA入门级教学之&#xff08;多态&#xff09; 怎么理解多态&#xff1a;你本身就该喊你爹叫爹&#xff0c;你让你爹叫你爹就是强制认做爹 多态的使用&#xff1a; A a new D(); D类继承A类&#xff0c;父类型引用指向子类型对象 * 关于java语言汇总的多态语法机制&#x…

beanutils.copyproperties属性值丢失_[ASP.NET Core 3.1]浏览器嗅探解决部分浏览器丢失Cookie问...

今天的干货长驱直入&#xff0c;直奔主题看了前文的同学们应该都知道&#xff0c;搜狗、360等浏览器在单点登录中反复重定向&#xff0c;最终失败报错。原因在于&#xff0c;非Chrome80浏览器不识别Cookie上的SameSitenone属性值,导致认证Cookie在后续请求中被抛弃。截至2020/3…

JAVA入门级教学之(final关键字)

不希望任何人可以随意修改自己的东西的时候可以用final关键字进行修饰 * 1.final是一个关键字&#xff0c;表示最终的&#xff0c;不可变的 * * 2.final修饰的类无法被继承 * * 3.final修饰的方法无法被覆盖 * * 4.final修饰的变量一旦被赋值后&#xff0c;不可重新赋…

fopen吃内存吗 php,file_get_contents = PHP致命错误:允许的内存耗尽

我没有处理大文件的经验&#xff0c;所以我不确定该怎么办。我试图使用 file_get_contents 读取几个大文件&#xff1b;任务是使用preg_replace() 清洁和修补它们。我的代码在小文件上运行良好&#xff1b;但是&#xff0c;大文件(40 MB)触发内存耗尽错误&#xff1a;PHP Fatal…

倒计时小工具_这款高颜值的 APP 可以让小仙女/男神们的日子过得更精致

倒计时是大家平常都会用的功能&#xff0c;系统自带的工具或许也能满足一部分朋友的需求&#xff0c;但是对于生活精致&#xff0c;并且富有仪式感的小仙女和小男神们&#xff0c;一款普普通通的计时工具怎么能满足呢&#xff1f;今天推荐的这款应用——小时刻( App Store 搜索…

oracle 删除系统用户,Oracle数据库如何创建和删除用户

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼1. 创建用户&#xff1a;SQL> create user user01 identified by user01;User created.但登录提示01045的错误&#xff0c;缺少CREATE SESSION权限。ERROR:ORA-01045: user USER01 lacks CREATE SESSION privilege; logon denie…

asp单元格合并后宽度没有合并_宅在家里跟着大牛从零开始学excel第五课-合并,边框,列宽行高...

接着上一课&#xff0c;我们制作的课程表&#xff0c;有人说了不好看&#xff0c;确实&#xff0c;我们就来补充和美化一下。首先我们要更改的就是字体&#xff0c;字体改成下图&#xff0c;字体大小选为18&#xff0c;样子就好看了很多了。仔细看上图&#xff0c;还却一点东西…

JAVA入门级教学之(package和import)

目录 JAVA入门级教学之&#xff08;package和import&#xff09; 1.包又称为package 2.怎么定义package&#xff1f; 3.包名的命名规范&#xff1a; 4.包名要求全部小写&#xff0c;包名也是标识符&#xff0c;必须遵守标识符的命名规范 5.一个包对应一个目录 6.使用了pa…

oracle数据库中分析函数大全,Oracle数据库的分析函数

over 连续的相加求各部门的薪水总和和全部总和 select name, salary, empsum(salary) over (order by emp) 连续求和sum(salary) over () 总和100*round(sal/sum(sal) over(), 5) 份额from company;sum() sum over() 求的是总和&#xff0c;sum over (order by ) 求的是连续的…