码迷,mamicode.com
首页 > Web开发 > 详细

php网站验证码的生成

时间:2015-09-07 14:15:10      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

<?php
   header("Content-type:text/html;charset=utf-8");
   header("Content-type:image/png");
   $num=4;
   $str=getCode($num,2);//获取随机数
   $width=$num*20;
   $height=30;
   $im=imagecreatetruecolor($width,$height);//创建一个画布
   $color[]=imagecolorallocate($im,34,52,210);
   $color[]=imagecolorallocate($im,235,10,54);
   $color[]=imagecolorallocate($im,255,255,64);
   $color[]=imagecolorallocate($im,111,230,89);
   $color[]=imagecolorallocate($im,225,0,113);
   $bg=imagecolorallocate($im,240,240,240);
   //开始绘图
   imagefill($im,0,0,$bg);
   imagerectangle($im,0,0,$width-1,$height-1,$color);
   
   //添加随机干扰点
   for($i=0;$i<200;$i++)
   { 
   $c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//随机一个颜色
   imagesetpixel($im,rand(0,$width),rand(0,$height),$c);
   }
   //添加随机干扰线
   for($i=0;$i<5;$i++)
   { 
     imageline($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$c);
   }
   //绘制验证码内容
   for($i=0;$i<$num;$i++)
   { 
     imagettftext($im,20,rand(-40,40),0+(10*$i),24,$color[rand(0,4)],"c:/windows/fonts/simhei.ttf",$str[$i]);
   }
    imagepng($im);
    imagedestroy($im);
      //获取随机数的函数
   function getCode($m=4,$type=0)
   { 
     $str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
     $t=array(9,35,strlen($str)-1);//设置分隔符;
     $c="";
     for($i=0;$i<$m;$i++)
     { 
      $c.=$str[rand(0,$t[$type])];
     }
      return $c; 
   }
?>

 

php网站验证码的生成

标签:

原文地址:http://www.cnblogs.com/kangshuai/p/4788587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!