<?php
check_code();
//Zuf?llig Zeichen oder Zahlen für den Best?tigungscode generieren
function check_code($width=100, $height=50,$num=4, $type = 'jpeg')
{
$i=imagecreate($width,$height);
$string='';
for($j=0;$j<$num;$j++)
{ " $ascii=mt_rand(48,57);
break;
Fall 1:
$ascii=mt_rand(65,90); break;
}
} $string.=sprintf('%c ' ,$ ascii); //ASCII-Zeichendekodierung
} }
//Erzeuge die Hintergrundfarbe des Best?tigungscodes (randbg(): Funktionsaufruf)
imagefilledrectangle($i,0,0,$width, $height,randbg ($i));
//Zuf?llige Interferenz generieren (randpix(): Funktionsaufruf)for($j=0;$j<50;$j++)
{
imagesetpixel ($i,mt_rand(0,$width),mt_rand(0,$height) ,randpix($i));
}
//Write
for($j=0 ;$j< $num;$j++)
{
$fuc='image'. $type ;
$have='cotent-type:image'.$type;
if(function_exists($fuc))
{
header($have);
$fuc($i);
}
echo 'Bildtyp nicht unterstützt';
}
imagedestroy($i);
return $string;
}
//Hintergrundfarben-Funktionsmodul
Funktion randbg($i)
????????????????????????????????????????????????????????????????????????????????????? return imagecolorallocate($i, mt_rand(135,255),,mt_rand(135,255),mt_rand(135,255));
//Interferenzelement- oder Zeichenfarben-Funktionsmodul
function randpix($i)
{
? ? ? ? return. imagecolorallocate($i,mt_rand(0,135),mt_rand(0,135),mt_rand(0,135));
?????????????????????????????????????????????????????????????????}
?>
這是個(gè)驗(yàn)證碼類,你可以參考一下 <?php class?Captcha { ????private?$width; ????private?$height; ????private?$codeNum; ????private?$code; ????private?$im; ????function?__construct($width=80,?$height=20,?$codeNum=4) ????{ ????????$this->width?=?$width; ????????$this->height?=?$height; ????????$this->codeNum?=?$codeNum; ????} ????function?showImg() ????{ ????????//創(chuàng)建圖片 ????????$this->createImg(); ????????//設(shè)置干擾元素 ????????$this->setDisturb(); ????????//設(shè)置驗(yàn)證碼 ????????$this->setCaptcha(); ????????//輸出圖片 ????????$this->outputImg(); ????} ????function?getCaptcha() ????{ ????????return?$this->code; ????} ????private?function?createImg() ????{ ????????$this->im?=?imagecreatetruecolor($this->width,?$this->height); ????????$bgColor?=?imagecolorallocate($this->im,?0,?0,?0); ????????imagefill($this->im,?0,?0,?$bgColor); ????} ????private?function?setDisturb() ????{ ????????$area?=?($this->width?*?$this->height)?/?20; ????????$disturbNum?=?($area?>?250)???250?:?$area; ????????//加入點(diǎn)干擾 ????????for?($i?=?0;?$i?<?$disturbNum;?$i++)?{ ????????????$color?=?imagecolorallocate($this->im,?rand(0,?255),?rand(0,?255),?rand(0,?255)); ????????????imagesetpixel($this->im,?rand(1,?$this->width?-?2),?rand(1,?$this->height?-?2),?$color); ????????} ????????//加入弧線 ????????for?($i?=?0;?$i?<=?5;?$i++)?{ ????????????$color?=?imagecolorallocate($this->im,?rand(128,?255),?rand(125,?255),?rand(100,?255)); ????????????imagearc($this->im,?rand(0,?$this->width),?rand(0,?$this->height),?rand(30,?300),?rand(20,?200),?50,?30,?$color); ????????} ????} ????private?function?createCode() ????{ ????????$str?=?"23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ"; ????????for?($i?=?0;?$i?<?$this->codeNum;?$i++)?{ ????????????$this->code?.=?$str{rand(0,?strlen($str)?-?1)}; ????????} ????} ????private?function?setCaptcha() ????{ ????????$this->createCode(); ????????for?($i?=?0;?$i?<?$this->codeNum;?$i++)?{ ????????????$color?=?imagecolorallocate($this->im,?rand(50,?250),?rand(100,?250),?rand(128,?250)); ????????????$size?=?rand(floor($this->height?/?5),?floor($this->height?/?3)); ????????????$x?=?floor($this->width?/?$this->codeNum)?*?$i?+?5; ????????????$y?=?rand(0,?$this->height?-?20); ????????????imagechar($this->im,?$size,?$x,?$y,?$this->code{$i},?$color); ????????} ????} ????private?function?outputImg() ????{ ????????if?(imagetypes()?&?IMG_JPG)?{ ????????????header('Content-type:image/jpeg'); ????????????imagejpeg($this->im); ????????}?elseif?(imagetypes()?&?IMG_GIF)?{ ????????????header('Content-type:?image/gif'); ????????????imagegif($this->im); ????????}?elseif?(imagetype()?&?IMG_PNG)?{ ????????????header('Content-type:?image/png'); ????????????imagepng($this->im); ????????}?else?{ ????????????die("Don't?support?image?type!"); ????????} ????} } //?這樣調(diào)用?新建文件 <?php require_once?'captcha.class.php'; $captcha?=?new?Captcha(80,30,4); $captcha->showImg();
貼出報(bào)錯(cuò)信息啊,誰(shuí)有功夫看你代碼???