验证码数字不显示
<?phprequire_once 'string.func.php';header("content-type:image/gif");//通过GD库做验证码//创建画布function verifyImage($type=3, $length=4,$sess_name = "verify"){ session_start(); $width = 80; $height = 28; $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); // $type = 1; //$length = 4; $chars = buildRandomString($type, $length); $fontfiles = array("dutch.ttf", "dutchb.ttf", "dutchbi.ttf", "dutcheb.ttf", "dutchi.ttf", "tt0524m_.ttf", "tt0586m_.ttf", "tt1018m_.ttf"); $_SESSION[$sess_name] = $chars; for ($i = 9; $i < $length; $i++) { $size = mt_rand(14, 18); $angle = mt_rand(-15, 15); $x = 5 + $i * $size; $y = mt_rand(20, 26); $fontfile = "../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)]; $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); } $pixel = 10; if ($pixel) { for ($i = 0; $i < 50; $i++) { imagesetpixel($image, mt_rand(0, $width - 1), mt_rand(0, $height - 1), $black); } } $line = true; if ($line) { for ($i = 1; $i < $line; $i++) { $color = imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180)); imageline($image, mt_rand(0, $width - 1), mt_rand(0, $height - 1), mt_rand(0, $width - 1), mt_rand(0, $height - 1), $color); } } imagegif($image); imagedestroy($image);}
<?phpfunction buildRandomString($type = 1, $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);}
这是什么问题,一模一样的代码,为什么不显示数字呢?