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

开发 后端
我们今天为大家带来的是关于PHP图形验证码的具体实现方式,并将全部代码贴出,方便读者朋友学习参考,补充我们的不足之处。

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

#t#具体实现代码如下:

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

责任编辑:曹凯 来源: 硅谷动力
相关推荐

2015-09-21 15:31:05

php实现验证码

2009-12-11 15:17:52

PHP验证码调用

2020-12-20 10:07:57

Canvas图形验证码javascript

2009-11-26 10:48:59

PHP验证码

2015-12-11 09:54:47

2012-05-24 15:41:38

PHP

2013-06-19 10:19:59

2009-08-12 11:05:00

2009-11-25 11:33:26

PHP验证表单

2009-11-23 16:34:22

PHP GD库

2009-12-16 15:46:41

Ruby on rai

2022-02-11 07:10:15

验证码

2021-01-19 10:29:34

短信验证码密码

2020-11-16 07:28:53

验证码

2009-06-26 15:17:27

jQuery

2020-09-29 06:43:12

Java

2011-11-02 16:46:41

2019-06-18 07:12:25

验证码漏洞加密

2011-11-02 12:43:33

点赞
收藏

51CTO技术栈公众号