用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php生成验证码详细教程

时间:2015-01-23  来源:西部数据  作者:西部数据

本文章提供一款php生成验证码详细教程,前面是讲关于生成验证核心代码,后面是一款生成与调用的方法,php生成验证码实例代码如下:

  1. <?php  
  2. //header("content-type:image/png");  
  3. $num ='1234';  
  4. $imagewidth=60;  
  5. $imageheight=18; 
  6.  
  7. $numimage = imagecreate($imagewidth,$imageheight);  
  8. imagecolorallocate($numimage,240,240,240);  
  9. for($i=0;$i<strlen($num);$i++){  
  10. $x = mt_rand(1,8)+$imagewidth*$i/4;  
  11. $y = mt_rand(1,$imageheight/4);  
  12. $color=imagecolorallocate($numimage,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150));  
  13. imagestring($numimage,5,$x,$y,$num[$i],$color);  
  14.  
  15. for($i=0;$i<200;$i++){  
  16. $randcolor=imagecolorallocate($numimage,rand(200,255),rand(200,255),rand(200,255));  
  17. imagesetpixel($numimage,rand()%70,rand()%20,$randcolor);  
  18. //开源代码phpfensi.com 
  19. imagepng($numimage);  
  20. imagedestroy($numimage);  
  21. ?> 

来看一款生成验证码实例,代码如下:

  1. <?php 
  2.  
  3.    //生成验证码图片 
  4.  
  5.     session_start(); 
  6.  
  7.         header("content-type: image/png");  
  8.  
  9.   srand((double)microtime()*1000000);  
  10.  
  11.   $roundnum=rand(1000,9999); 
  12.  
  13.   //把随机数存入session以便以后用 
  14.  
  15.    $_session["sessionround"]=$roundnum
  16.  
  17.         $im = imagecreate(58,28); 
  18.  
  19.         $red = imagecolorallocate($im, 255,0,0); 
  20.  
  21.         $blue = imagecolorallocate($im, 0,255,0); 
  22.  
  23.  //局域填充,相当于背景 
  24.  
  25.         imagefill($im,68,30,$red); 
  26.  
  27.    //将四位整数验证码绘入图片 
  28.  
  29.         imagestring($im, 5, 10, 8, $roundnum$blue); 
  30.  
  31.         for($i=0;$i<50;$i++)   //加入干扰象素 
  32.  
  33.         { 
  34.  
  35.                 imagesetpixel($im, rand()%70 , rand()%30 , $black); 
  36.  
  37.         }//开源代码phpfensi.com 
  38.  
  39.         imagepng($im); 
  40.  
  41.         imagedestroy($im); 
  42.  
  43. ?> 

html调用方法,代码如下:

  1. <td>验证码</td><td width="20%"
  2.      <input name="validt" type="text" size="10" maxlength="4"/></td><td colspan="3" width="80%"
  3.      <img src="/www.phpfensi.com/validitpicture.php" name="validitpic" align="absmiddle"  /></td> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门