一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php 图片验证码

时间:2008-06-02 编辑:简简单单 来源:一聚教程网

 php验证码程序   验证码 代码 php php 图片验证码

/*
@date           20080514
@author        hluan

//session_start();
class icode
{
function __construct(){
  header('Content-Type:image/png');
}
function __destruct(){
  imagedestroy($png);
}

function getcode($len,$type){
  switch ($type){
   case 1;
    $str = "1234567890";
    break;
   case 2;
    $str = "abcdefghijklmnopqrstuvwxyz";
    break;
   case 0;
    $str = "1234567890abcdefghijklmnopqrstuvwxyz";
    break;
  }
  $result = "";
  $length = strlen($str) - 1;
  $num = 0;
  for ($i=0;$i<$len;$i++){
   $num = rand(0,$length);
   $a = $str[$num];
   $result = $result.$a;
  }
  /*Before using it,you should use session_start()*/
  $_SESSION['icode'] = $result;//Store in session.
  //echo "session:".$_SESSION['icode'];
  //die();
  $png = imagecreate(60,30);
  $white = imagecolorallocate($png,255,255,255);//background
  $red = imagecolorallocate($png,255,0,0);
  $blue = imagecolorallocate($png,0,0,255);
  $brown = imagecolorallocate($png,100,0,0);
  $black = imagecolorallocate($png,0,0,0);//Identifying Code
  imagefill($png,0,0,$white);
  $k = rand(0,3);
  if (0 == $k){
   for ($n=0;$n<60;$n++){
    $y = 15*sin($n/30*pi());
    imagesetpixel($png,$n,15+$y,$red);
   }
  }else if (1 == $k){
   for ($n=0;$n<60;$n++){
    $y = 15*cos($n/60*pi());
    imagesetpixel($png,$n,15+$y,$red);
   }
  }else if (2 == $k){
   for ($n=0;$n<60;$n++){
    $y = 15*sin($n/45*pi());
    imagesetpixel($png,$n,15+$y,$brown);
   }
  }else if (3 == $k){
   for ($n=0;$n<60;$n++){
    $y = 15*cos($n/30*pi());
    imagesetpixel($png,$n,15+$y,$brown);
   }
  }
  for ($k=0;$k<10;$k++){
   $i = rand(3,60);//width
   $j = rand(3,15);//height
   imageline($png,$i-3,$j-3,$i,$j,$black);
  }
  imagestring($png,5,3,5,$result,$blue);
  $icode = imagepng($png);
  return $icode;
}
}
/*测试代码
$icode = new icode();
$icp = $icode->getcode(6,0);
echo $icp;
*/

热门栏目