<?php
require 'string.func.php';
function verifyImage($type = 1, $length = 4, $sess_name = "verify") {
// 创建画布
// 通过GD库做验证码
$width = 80;
$height = 30;
$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 );
$chars = buildRandomString ( $type, $length );
$_SESSION [$sess_name] = $chars;
$fontfiles = array (
"MSYH.TTC",
"MSYHBD.TTC",
"SIMKAI.TTF",
"SIMLI.TTF",
"STZHONGS.TTF"
);
for($i = 0; $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 ( 100, 150 ) );
$text = substr ( $chars, $i, 1 );
imagettftext ( $image, $size, $angle, $x, $y, $color, $fontfile, $text );
}
for($i = 0; $i < 50; $i++) {
imagesetpixel ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $black );
}
header ( "content-type:image/gif" );
imagegif ( $image );
imagedestroy ( $image );
}
?>
-- 以上代码能正常显示验证码,但在getverify.php调用verifyImage()的函数的时候就显示不出来。
<?php
require_once '../include.php';
verifyImage();
?>
请问是怎么回事呢?
还有就是verifyImage()函数如果完全按照老师的加直线,就会出现错误,显示不出验证码。