我花了我的最后一晚来解决这个问题。
我有一个php文件应该返回带有相关标题的PNG图像。相关文件内容基本上是。 (在标题语句之前没有先前的输出或空格)
header('Content-Type: image/png');
$img = @imagecreatefrompng($path);
imagepng($img);
imagedestroy($img);
但是浏览器(Firefox)说像图像有错误,因此无法显示。
如果我将文件保存到其他地方并使用FTP下载,则会显示该文件。像:
imagepng($img, "/tmp/hedede.png");
如果我删除了header语句并打印出文件内容,它会显示带有所有其他垃圾数据的PNG标头。如果我将此页面作为PNG文件保存在浏览器上,浏览器将再次显示已保存的PNG文件,但Irfanview会显示该文件。
答案 0 :(得分:0)
请检查您的文件(在路径中)MIME类型,不要信任其扩展名的文件类型。希望能帮助到你。如果您的文件不是png图像,则代码无法正常运行,并且不会显示给定的图像。
答案 1 :(得分:-1)
这是GD库版本问题。
imagepng($resource)
...工作旧版GD库。新版本将是:
imagepng($resource,"php://output")