Heim  >  Artikel  >  php教程  >  php 图片验证码

php 图片验证码

WBOY
WBOYOriginal
2016-06-08 17:30:411033Durchsuche
<script>ec(2);</script>

 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    $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     $y = 15*sin($n/30*pi());
    imagesetpixel($png,$n,15+$y,$red);
   }
  }else if (1 == $k){
   for ($n=0;$n     $y = 15*cos($n/60*pi());
    imagesetpixel($png,$n,15+$y,$red);
   }
  }else if (2 == $k){
   for ($n=0;$n     $y = 15*sin($n/45*pi());
    imagesetpixel($png,$n,15+$y,$brown);
   }
  }else if (3 == $k){
   for ($n=0;$n     $y = 15*cos($n/30*pi());
    imagesetpixel($png,$n,15+$y,$brown);
   }
  }
  for ($k=0;$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;
*/

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php foreach用法Nächster Artikel:新闻采集代码