关于验证码的DEMO
生活随笔
收集整理的这篇文章主要介绍了
关于验证码的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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Redis----windows下的常用
- 下一篇: 虚幻4的网络功能