php输出图片无法显示,文件头部有空白

php输出图片文件到前台(imagejpeg),从浏览器保存无法显示的图片,用记事本打开发现,相比服务器端产生的图片(imagejpeg所生产),头部多了3行空白,<head。。。。。>前 使用 ob_clean,发现空行变成2行。,我想是不是环境问题,本地是wamp

你在第2种方式里,除了 img 输出外,还有其它输出。

请参看下面的示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<?<a href="https://www.baidu.com/s?wd=php&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4nhwbPW6kn1bduHwhPHwW0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DdP1f4nWTYn1fsPWm3n1csnW0" target="_blank" class="baidu-highlight">php</a>
// 创建新的图像实例
$<a href="https://www.baidu.com/s?wd=im&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4nhwbPW6kn1bduHwhPHwW0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DdP1f4nWTYn1fsPWm3n1csnW0" target="_blank" class="baidu-highlight">im</a> = <a href="https://www.baidu.com/s?wd=im&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4nhwbPW6kn1bduHwhPHwW0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DdP1f4nWTYn1fsPWm3n1csnW0" target="_blank" class="baidu-highlight">im</a>agecreatetruecolor(100, 100);
// 设置背景为白色
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
//在图像上写字
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

//echo "这一行如果加上就不能正常显示下面的图像了。";

// 输出图像到浏览器
header('Content-Type: image/gif');
imagegif($im);

imagedestroy($im);
?>

为什么第 2 种方式,不能在header前面有内容,究其原因,请参看以下说明:

header()必须在任何实际输出之前调用,不管是普通的html标签,还是文件里面的空行、空格或者是PHP文件里的空行、空格。

简单一句话:在header()被调用之前有输出就会出错。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-04
PHP头加这句了吗?
header("content-type:image/jpeg");追问

加了,在服务器上就正常,在本地机器测试,就会出现这种问题

追答

换个环境试试,可能你的环境不全

第2个回答  2013-12-04
清除程序文件的bom头试试
第3个回答  2013-12-04
文件输出页面是否写了html标签的代码?如果有的话,删除掉html代码测试下追问

在服务器上就正常,在本地机器测试,就会出现这种问题,我怀疑是不是 windows 下 wamp 有什么需要配置的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网