2011-08-07 179 views
1

我想通过PHP脚本显示图像,以便在html中具有正常的img但带有php脚本的源代码。然后,该脚本将打开一个现有的png或jpg图像并通过它显示该图像。通过php脚本显示png图像

我一直在尝试这个代码,目前没有运气。

 
$img = imagecreatefrompng("logo.png"); 

header("Content-type: image/png"); 

imagepng($img); 
imagedestroy($img); 

没有错误图像输出被破坏。

在此先感谢。

+0

有什么问题? – deceze

+0

脚本中是否有其他输出? '<?php'之前是否有空格? –

+0

是否有任何错误? – robert

回答

10
header("Content-type: image/png"); 
readfile("$file"); 
exit; 

这是好主意,添加一些标题,如:

header('Expires: 0'); 
header('Content-Length: ' . filesize($file)); 

看看这里的讨论: http://php.net/manual/en/function.readfile.php

+0

当然这只读取文件不显示它? – aHunter

+1

@aHunter如果您的文件已经是PNG,并且您想将它显示为PNG,那么您只需要执行* output * it。这里完全不需要gd,'readfile'(将文件输出到客户端)很好。 – deceze

1

你必须把模具();在代码的最后。否则,你会输出额外的数据,这将导致图像中的错误。

+0

我已经试过这个,但图像输出仍然是坏的。不管怎么说,还是要谢谢你。 – aHunter

+0

除非脚本具有更多明确输出内容的内容,否则不会输出“额外数据”。 – JJJ