为什么显示不了验证码,屏幕都是黑色的。各位大神求指点
image.func.php
<?php
require_once ('string.func.php');
session_start();
//通过GD库做验证码
//创建画布
$width=80;
$height=28;
$image=imagecreatetruecolor($width, $height);//创建画布的长与宽
$white=imagecolorallocate($image, red, 255,255,255);//选择白色画笔
$black=imagecolorallocate($image, red, 0,0,0);//选择白色画笔
//用矩形填充画布
imagefilledrectangle($image, 1, 1, $width-2, $height-2,$white);//矩形左上角(1,1)开始到矩形右下角($width-2,$width-2)画一个矩形并填充
$type=1;
$length=4;
$chars=buildRandomString($type,$length);
$sess_name="verify";//设置的验证码
$_SESSION [$sess_name] = $chars;
$fontfiles=array("simhei.ttf","simkai.ttf","simsun.ttc","wingding.ttf");//选择字体
for ($i=0; $i <$length ; $i++) {
$size=mt_rand(14,18);//随机产生的大小
$angle=mt_rand(-15,15);//随机产生的角度
$x=5+$i*$size;
$fontfile = "../fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];//随机取出一个字体
$y=mt_rand(20,26);
$color=imagecolorallocate($image,mt_rand(50,90),mt_rand(80,200),mt_rand(90,180));
$text=substr($chars,$i,1);//
imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);
}
header ( "content-type:image/gif" );//告诉浏览器要显示什么资源
imagegif($image);//显示画布
imagedestroy($image);//销毁画布
?>
string.func.php
<?php
//随机提取验证码
function buildRandomString($type,$length){
if ($type==1) {
$chars=join('',range(0, 9));//随机数字
}else if ($type==2) {
$chars=join('',array_merge(range("a","z"),range("A", "Z")));//随机小写+大写字母
}else if ($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);//从0开始提取$length长度的字符串
}
?>
找不出原因,求指导