php学习笔记13:GD应用之验证码

本文详细介绍了使用GD库生成验证码的过程,包括图片展示、文字随机变化、颜色随机变化及背景干扰等步骤,并提供了点击刷新验证码的方法。

GD图像处理应用案例:验证码

验证码的实现

  • 1. 实现验证码图片的展示

a. 生成图片资源:

背景色设定

b. 写入文字:imagestring效果一般.我们基本使用imagettftext函数.

c. 输出图片给浏览器

d. 关闭资源

  • 2.实现验证码文字随机变化:实现有一串文字可以随机选择.

a.制作目标字符串集:从哪里选内容

b.如何随机从目标字符串里取出对应的汉字:汉字在utf-8字符集中占用3个字节,英文只占1个字节.确定字符数.

c.随机取出对应的字符(汉字):2个汉字

d.将取到的字符放到指定的图片位置即可

  • 3.实现验证码文字颜色的随机变化:每次产生不同的文字颜色

  • 4.实现验证码背景或干扰噪点:点和线

使用imagestring,imageline

a.增加干扰点:

b.增加干扰线:

c.改变文字大小和位置以及其他可变因素

  • 5.实现点击刷新验证码功能

a.创建一个表单文件,里面有1个img能够显示图片:宽200,高50

由于刚才编写的验证码php文件响应返回的类型是jpg图片,因此实际上在浏览器眼里它实际上就是img元素.

b.实现点击更换验证码:让src重新请求php脚本,产生一张新的图片.因此需要给img标签增加一个点击事件.

img的src是否重新发起请求,取决于浏览器.而浏览器是否发起请求,取决于src是否改变(src换了浏览器才发起新请求)

c.如何让img标签的src每次都改变?以便浏览器发起新请求从而刷新验证码图片:

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值