PHP 图像处理与SESSION制作超简单验证码的方法示例
php  /  管理员 发布于 7年前   128
本文实例讲述了PHP 图像处理与SESSION制作超简单验证码的方法。分享给大家供大家参考,具体如下: 验证码的实现 首先我们要清楚,无论是做什么东西,在做之前一定要有思路,譬如这个验证码里他有些什么,为了实现它我们该做些什么,怎么样去做。 这里我例举出几个点。 1.验证码肯定要有内容。 那么为了实现他们我们该如何做呢? 第一步,创建一个名为captcha.php的文件 在里面输入 这个时候,验证码的一些基本东西我们都完成了,定义了验证码的宽高,背景色验证码内容,验证码字体大小,和一个接受验证码的变量,就该做第二步了。 第二步,获取验证码内容 在这里我们设置了$i的变量不能大于四,然后用他乘以(100/4),保证他的的值不会大过100,再加上rand函数里随机抽取5-15里的数值,使其的x轴坐标范围保证在(5-90)之间,y轴的坐标保证在(5-10)之间,使其大概率的保证了内容显示的范围居中 第三步,设置干扰因素 我们要明白,在验证码里有什么干扰因素,再想办法把它呈现出来。如下 到这里,我们的验证码功能基本上已经实现的差不多了,内容获取到了,横线和点点等干扰因素也有了。如果需要添加到登录页面可自行发挥。 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。
2.验证码里肯定要有干扰信息,就譬如,线条干扰和点点干扰。for ($i=0; $i < 4; $i++) { //截取字符串 $char = substr($content,rand(0,strlen($content)-1),1); //把得到的内容输入到ragcha里 $ragcha = $ragcha.$char; //设置x轴与y轴的坐标 $x = $i*(100/4) + rand(5,15); $y = rand(5,10); //设置验证码内容颜色 $fontcolor = imagecolorallocate($im,rand(0,120),rand(0,120),rand(0,120)); //输出 imagestring($im, $fontsize, $x, $y, $char, $fontcolor);}//保证验证码内容不丢失$_SESSION["ragcha"] = $ragcha;
//设置干扰因素//1.画线条for ($g=0; $g < 3; $g++) { //设置线条颜色 $line = imagecolorallocate($im, rand(50,100), rand(50,100), rand(50,100)); //输出线条 imageline($im,rand(0,99),rand(0,19),rand(0,99),rand(0,19), $line);}//2.给背景加点点for ($r=0; $r < 300; $r++) { //设置点点颜色 $point = imagecolorallocate($im, rand(20,180), rand(20,180), rand(20,180)); //输出点点 imagesetpixel($im, rand(0,100), rand(0,30), $point);}imagepng($im);//输出整个图片
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号