> php教程 > PHP源码 > 본문

php 图片验证码

WBOY
풀어 주다: 2016-06-08 17:30:41
원래의
1033명이 탐색했습니다.
<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;
*/

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿