为了账号安全,请及时绑定邮箱和手机立即绑定

PHP实现验证码制作

难度初级
时长 1小时20分
学习人数
综合评分9.80
173人评价 查看评价
10.0 内容实用
9.8 简洁易懂
9.6 逻辑清晰

已采纳回答 / uehaox1
把$filename=dirname();这句去了,修改$contents$contents = file_get_contents("./pic{$index}.jpg");图片就加载出来了 老师的是绝对路径 我也不知道为何加载不出来 相对路径还是可以加载出来的

最新回答 / CrazyBo
都可以,只要能随机出来就行。但是我觉得吧,这种多个随机函数外面再加array_merge函数的效率会相对低一点。

已采纳回答 / 竹夜风影
onClick="document.getElementById('code1').str="./code.php?r="+Math.random()"中str写错了,应该src

最新回答 / 文孑
表单提交的地址有误?还是把代码贴出来看看比较准确

已采纳回答 / Enstein_jun
<image border='1' src='captcha.php' onclick="this.src='captcha.php?t=' + Math.random()" title="点击刷新"/> 他的本意应该是这么用的,这样的话,每点击图片一次都会重新生成新的验证码

最赞回答 / qq_慕斯_2
一个是用给定量让机器算,另一个的25是自己人工算了放进去的啊;前者在更改地图大小以及更改显示数字量变化上可以更灵活,而且这样写也更合规范。

最赞回答 / lunzeming
header()函数是php用于设置响应头的函数,浏览器会根据响应头作出不同的显示,或下载文件等动作这里header( 'content-type: image/png' );说明响应内容为图片imagepng( $image );以 PNG 格式将图像输出到浏览器或文件imagedestroy($image);清除图片在服务器上占用的内存

最赞回答 / 桥风L
就是生成一个随机数作为这个链接的参数,实现验证码的更新。防止再次从缓存中获取。

已采纳回答 / 丿戒爱丶小坏蛋
存了,老师只改了代码关键部分,其他的没改,session存储的代码没动,你仔细看下

最新回答 / kihoor
这是因为老师用rand(0,strlen($data))中的strlen($data)没有减1,字符的下标是从0开始到最大长度减1的,跟数组下标类似

最赞回答 / 愿当奔跑的蜗牛
$fontcontent=substr($data,rand(0,strlen($data)-1),1);有时候是3个是因为随机截取到最后一个值strlen($data)),而这个值取不到。 随机截取字符串,角标从0开始的,strlen($data)为第n+1个,总共才n个,因此要减一, 

最赞回答 / 幕布斯7510621
http://php.net/manual/zh/function.imagestring.php 这里font只用1--5 最大就是5了 如果你想要更大的话可以使用imagettftext:array ImageTTFText(int im, int size, int angle, int x, int y, int col, string fontfile, string text); 参数分别为 image,字体大小,角度 0代表水平,颜色,字体文件名 这里可以引用字体文件,内容。示例:     ...
课程须知
本课程适合PHP初学者或者自学的童鞋们。
老师告诉你能学到什么?
1、如何拆解验证码项目 2、PHP的绘图扩展GD库的使用 3、如何用GD函数画图与验证码内容 4、如何用PHP做验证码校验,及动态校验 5、怎么实现中文、图片、视频验证码

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消