image.func.php<?php
/*
* 通过GD库做验证码
* 创建画布
*/
require_once "string.func.php";
function verifyImage($width=80,$height=30,$type=1,$length=4,$pixel=0,$arc=0,$line=0,$sess_name='verify'){
$image=imagecreatetruecolor($width,$height);
$white=imagecolorallocate($image,255,255,255);
$black=imagecolorallocate($image,0,0,0);
imagefilledrectangle($image, 1, 1, $width-2, $height-2, $white);
$randCol=imagecolorallocate($image, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100));
$chars=buildRandomString($type,$length);
$_SESSION[$sess_name]=$chars;
$fontfiles=array("CAMPU_12.TTF","CountryBlueprint.ttf","Goffik-O.ttf","ParkAvenueBT.ttf","SIMYOU.TTF");
for($i=0;$i
$size=mt_rand(14,18);
$angle=mt_rand(-15,15);
$x=5+$i*$size;
$y=mt_rand(20,26);
$color=imagecolorallocate($image,mt_rand(50,90),mt_rand(80,200),mt_rand(90,180));
$fontfile='../fonts/'.$fontfiles[mt_rand(0,count($fontfiles)-1)];
$text=substr($chars,$i,1);
imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);
}
if($pixel){
for($i=0;$i
imagesetpixel($image, mt_rand(0,$width-2), mt_rand(0,$height-2), $randCol);
}
}
if($arc){
for($i=0;$i
imagearc($image, mt_rand(0,$width-2), mt_rand(0,$height-2), mt_rand(0,$width-2), mt_rand(0,$height-2), mt_rand(0,360), mt_rand(0,360), $randCol);
}
}
if($line){
for($i=0;$i
imageline($image, mt_rand(0,$width-2), mt_rand(0,$height-2), mt_rand(0,$width-2), mt_rand(0,$height-2), $randCol);
}
}
header('content-type:image/gif');
imagegif($image);
imagedestroy($image);
}
verifyImage(100,50,2,5,50,2);
?>
string.func.php<?php
function buildRandomString($type=3,$length=4){
if($type==1){
$chars=join("",range(0,9));
}elseif ($type==2) {
$chars=join("",array_merge(range("a","z"),range("A","Z")));
}elseif ($type==3) {
$chars=join("",array_merge(range("a","z"),range("A","Z"),range(0,9)));
}
if($length>strlen($chars)){
exit("字符串长度不够");
}
$chars=str_shuffle($chars);
return substr($chars,0,$length);
}
?>
由于不知道你的代码,所以不敢妄下定论,复制一下,我这个执行OK的