关于验证码的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的网络功能