PHP图形验证码的具体实现方法


  本文标签:PHP图形验证码

  我们现在在网站注册等地方经常会见到需要你输入验证码的请款,它就是将随机数字或符号以图片的形式展现在用户面前,并提供验证后才能使用相关功能  。今天我们就介绍PHP图形验证码的具体实现方法  。

  

  • PHP 5.3闭包语法的具体讲解
  • PHP5.0对象模型的属性和方法分析
  • PHP 5.0构造函数的实例讲解
  • 如何运用PHP GD库生成验证码
  • PHP5安装GD库的具体操作步骤
具体实现代码如下:

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  1. php 
  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. php 
  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图形验证码的实现代码,希望对大家有所帮助  。