40 lines
1.6 KiB
PHP
40 lines
1.6 KiB
PHP
|
|
<?php
|
|||
|
|
class CCheckCodeFile{
|
|||
|
|
private $mCheckCodeNum = 4;//<2F><>֤<EFBFBD><D6A4>λ<EFBFBD><CEBB>
|
|||
|
|
private $mCheckCode = '0123456789';//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>
|
|||
|
|
private $mCheckImageWidth = '65';//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
|
|||
|
|
private $mCheckImageHeight = '20';//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ͼƬ
|
|||
|
|
public function OutCheckImage(){
|
|||
|
|
header("Content-type:image/png");//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ͷ<EFBFBD><CDB7>Ϣ
|
|||
|
|
$im = imagecreate($this->mCheckImageWidth,$this->mCheckImageHeight);//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
$black = imagecolorallocate($im,255,255,255);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>־<EFBFBD><D6BE>
|
|||
|
|
$white = imagecolorallocate($im,0,0,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>־<EFBFBD><D6BE>
|
|||
|
|
$gray = imagecolorallocate($im,100,100,100);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>־<EFBFBD><D6BE>
|
|||
|
|
imagefill($im,80,30,$black);//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
for($i=0;$i<50;$i++){
|
|||
|
|
$randcolor=imagecolorallocate($im,rand(100,255),rand(100,255),rand(100,255));//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>־<EFBFBD><D6BE>
|
|||
|
|
imagesetpixel($im, rand(0,$this->mCheckImageWidth),rand(0,$this->mCheckImageHeight),$randcolor);//<2F><><EFBFBD><EFBFBD>һ<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD>ı<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
|
}
|
|||
|
|
// for($i=0;$i<5;$i++){
|
|||
|
|
// imageline($im,rand(0,$this->mCheckImageWidth),rand(0,$this->mCheckImageHeight),rand(0,$this->mCheckImageWidth),rand(0,$this->mCheckImageHeight),$gray);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>껭<EFBFBD><EABBAD>
|
|||
|
|
// }
|
|||
|
|
for($i=0;$i<=$this->mCheckCodeNum;$i++){
|
|||
|
|
$authnum.=substr($this->mCheckCode,rand(0,9),1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
}
|
|||
|
|
$_SESSION['num']=strtolower($authnum);//<2F><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>д<EFBFBD><D0B4>SESSION<4F>Դ<EFBFBD><D4B4><EFBFBD>֤
|
|||
|
|
$x=rand(2,20);
|
|||
|
|
$y=rand(2,6);
|
|||
|
|
imagestring($im,5,$x,$y,$authnum,$white);//<2F><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>д<EFBFBD><D0B4>ͼƬ
|
|||
|
|
imagepng($im);//<2F><><EFBFBD><EFBFBD>ͼƬ
|
|||
|
|
imagedestroy($im);//ע<><D7A2>ͼƬ<CDBC><C6AC>Դ
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
session_start();
|
|||
|
|
if($_SESSION['num']){
|
|||
|
|
unset($_SESSION['num']);//ע<><D7A2><EFBFBD><EFBFBD>һ<EFBFBD>ε<EFBFBD>ͼƬ<CDBC><C6AC>֤<EFBFBD><D6A4>
|
|||
|
|
}
|
|||
|
|
$code_image = new CCheckCodeFile;
|
|||
|
|
$code_image ->OutCheckImage();
|
|||
|
|
?>
|