程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP圖形驗證碼的具體實現方法

PHP圖形驗證碼的具體實現方法

編輯:關於PHP編程

我們現在在網站注冊等地方經常會見到需要你輸入驗證碼的請款,它就是將隨機數字或符號以圖片的形式展現在用戶面前,並提供驗證後才能使用相關功能。今天我們就介紹具體實現代碼如下:

  1.  
  2.  
  3. class rndnum{  
  4.  
  5. function rnd(){  
  6. srand((double)microtime()*1000000);  
  7. $rnd_number=array(  
  8. 1=>'1',  
  9. 2=>'2',  
  10. 3=>'3',  
  11. 4=>'4',  
  12. 5=>'5',  
  13. 6=>'6',  
  14. 7=>'7',  
  15. 8=>'8',  
  16. 9=>'9',  
  17. 10=>'a',  
  18. 11=>'b',  
  19. 12=>'c',  
  20. 13=>'d',  
  21. 14=>'e',  
  22. 15=>'f',  
  23. 16=>'g',  
  24. 17=>'h',  
  25. 18=>'i',  
  26. 19=>'j',  
  27. 20=>'k',  
  28. 21=>'l',  
  29. 22=>'m',  
  30. 23=>'n',  
  31. 24=>'o',  
  32. 25=>'p',  
  33. 26=>'q',  
  34. 27=>'r',  
  35. 28=>'s',  
  36. 29=>'t',  
  37. 30=>'u',  
  38. 31=>'v',  
  39. 32=>'w',  
  40. 33=>'x',  
  41. 34=>'y',  
  42. 35=>'z',  
  43. 36=>'0'  
  44. );  
  45. $result=array_rand($rnd_number,6);  
  46. $j=count($result);  
  47. for ($i=0;$i<$j;$i++) {  
  48. $re.=$rnd_number[$result[$i]];  
  49. }  
  50. //$re=$rnd_number[$result[1]].$rnd_number[$result[2]].$rnd_number[$result[3]].$rnd_number[$result[4]].$rnd_number[$result[5]].$rnd_number[$result[6]].$rnd_number[$result[7]];  
  51. //return array_keys($result);  
  52. return $re;  
  53. }  
  54. }  
  55. /*用法  
  56. $rndnum=new rndnum();  
  57. $num=$rndnum->rnd();  
  58. echo $num;  
  59. */  
  60. ?> 

生成PHP圖形驗證碼的圖片,將隨機數填充到裡邊:

  1.  
  2.  
  3. Header("Content-type: image/PNG");   
  4. require_once("rndnum.php");  
  5. $rndnum=new rndnum();  
  6. $authnum=$rndnum->rnd();  
  7. session_start();  
  8. $_SESSION["extrra_code"]=$authnum;  
  9. $im = imagecreate(72,20);   
  10. $black = ImageColorAllocate($im, 0,0,0);   
  11. $white = ImageColorAllocate($im, 255,255,255);   
  12. $gray = ImageColorAllocate($im, 200,200,200);   
  13. imagefill($im,0,0,$gray);    
  14. imagestring($im,5,10,3,$authnum,$black);   
  15. for($i=0;$i<200;$i++)   //加入干擾象素   
  16. {   
  17.     $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));  
  18.     imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);   
  19. }   
  20. ImagePNG($im);   
  21. ImageDestroy($im);   
  22. ?> 

以上就是全部PHP圖形驗證碼的實現代碼,希望對大家有所幫助。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved