<meta http-equiv="Content-Type" content="text/html;charset=gbk" />
<form action="" method="post" enctype="multipart/form-data">
<input name="img" type="file" />
<input type="submit" name="sub" value="上传" />
</form><?php
if($_POST[sub]){
$uploaddir = "G:/php upload files/";
if(!file_exists($uploaddir)){
mkdir($uploaddir);
}
$uploadfile = $uploaddir.basename($_FILES['img']['name']);
if(move_uploaded_file($_FILES['img']['tmp_name'],$uploadfile)){
echo "长传成功!";
}
$img = GetImageSize($uploadfile);switch($img[2])
{
case 1:
$im = @ImageCreateFromGIF($uploadfile);
break;
case 2:
$im = @ImageCreateFromJPEG($uploadfile);
break;
case 3:
$im = @ImageCreateFromPNG($uploadfile);
break;
}
$logo = 'G:\php upload files\Chrysanthemum.jpg';
$ing = GetImageSize($logo);switch($ing[2])
{
case 1:
$in = @ImageCreateFromGIF($logo);
break;
case 2:
$in = @ImageCreateFromJPEG($logo);
break;
case 3:
$in = @ImageCreateFromPNG($logo);
break;
}
imagecopy($im,$in,400,30,10,0,'100','111');$te = imagecolorallocate($im,255,0,0);imagettftext($im,30,9,0,0,$te,'STXINGKA.TTF',"跨越新生!!!!!!!!!!!");
$new = ImageCreateTrueColor(500,500);
ImageCopyResized($new,$im,0,0,0,0,30,500,$img[0],$img[1]);ob_clean();//为什么去掉这句就无法正常输出,而是输出图像"http....."因其本身有错无法显示???
header("Content-type:image/jpeg");
imagejpeg($im);}
?>

解决方案 »

  1.   

    ob_clean()后,缓冲区中的内容被清除了........
      

  2.   

    sorry..是去掉无法输出么?
    从来都不加这句的.
      

  3.   

    因为图片本身也是二进制的文件,前面有输出的话,相当于正常图片的前面会多出某些字节的内容,所以会出现错误。
    把echo "长传成功!";等类似的输出去掉试试,应该就没有问题了。