图片出现破裂 怎么回事 代码是跟着敲的
image.func.php 代码
<?php
require_once 'string.func.php';
//创建画布
$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 );
$sess_name="verift";
$_SESSION [$sess_name] = $chars;
$fontfiles = array ("MSYH.TTC", "MSYHL.TTC", "SIMHEI.TTF", "SIMKAI.TTF", "SIMSUN.TTC", );
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 );
}
header ( "content-type:image/gif" );
imagegif ( $image );
imagedestroy ( $image );
string.func.php 代码
<?php
function 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);
}