欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

关于验证码的DEMO

发布时间:2025/3/15 编程问答 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 关于验证码的DEMO 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

为什么80%的码农都做不了架构师?>>>   

//********************关于验证码的DEMO****************************** session_start();//启动session的记录机制方便后续随机值的对比 function getCode($num,$w,$h){//创建获得随机验证码方法参数1,2,3;分别为:验证码数量,验证码图像宽,验证码图像高;$code='';for($i=0;$i<$num;$i++){//生成随机验证$num代表生成的个数;$code.=rand(0,9);//随机生成0,9的数字}$_SESSION['hello_num']=$code;//将获取到的数字或者字符保存在SESSIONheader("Content-Type:image/PNG");//指定页面输出为图片;$im=imagecreate($w, $h);//创建一个画布;$black=imagecolorallocate($im, 0, 0, 0);//设置画布的颜色1$gray=imagecolorallocate($im, 200, 200, 200);//设置画布的颜色2$bgcolor=imagecolorallocate($im, 255, 255, 255);//设置画布的颜色3imagefill($im, 0, 0, $gray);//填充画布颜色imagerectangle($im, 0, 0, $w-1, $h-1, $black);//画画布边框;//随机绘制两条虚线,起干扰作用;$style=array($black,$black,$black,$black,$black,$gray,$gray,$gray,$gray,$gray);imagesetstyle($im, $style);$y1=rand(0,$h);$y2=rand(0,$h);$y3=rand(0,$h);$y4=rand(0,$h);imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);//在画布上随机生成大量黑点,起干扰作用;for($i=0;$i<80;$i++){imagesetpixel($im, rand(0,$w), rand(0,$h),$black);}//将数字随机显示在画布上,字符的水平间距和位置按照一定的波动范围随机生成;$strx=rand(3,8);for($i=0;$i<$num;$i++){$strpos=rand(1,6);imagestring($im,5,$strx,$strpos,substr($code,$i,1),$black);$strx+=rand(8,12);}imagepng($im);//输出图片;imagedestroy($im);//释放图片所占内存; }getCode(4,60,20);


转载于:https://my.oschina.net/yomut/blog/400495

总结

以上是生活随笔为你收集整理的关于验证码的DEMO的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。