我花了我昨晚的時間來解決這個問題。PHP Imagepng輸出沒有在瀏覽器中顯示
我有一個PHP文件,應該返回一個PNG圖像與相關的標題。相關的文件內容基本上是。 (以前沒有輸出或空白標題語句之前)
header('Content-Type: image/png');
$img = @imagecreatefrompng($path);
imagepng($img);
imagedestroy($img);
但瀏覽器(Firefox)說某事像有一個與圖像錯誤,因此無法顯示。
如果我將文件保存到另一個地方並使用FTP下載它,它會顯示出來。如:
imagepng($img, "/tmp/hedede.png");
如果我刪除頭文件並打印出文件內容,它將顯示帶有所有其他垃圾數據的PNG頭。如果我將此頁面保存爲瀏覽器中的PNG文件,則瀏覽器將不會顯示保存的PNG文件,但Irfanview會顯示它。
從imagecreatefrompng刪除「@」,你可能有一個錯誤,你錯過了。 – slash197 2012-03-23 09:05:50
是的,你可能會得到這樣的通知:'abc'不是有效的PNG文件 – hungneox 2012-03-23 09:11:20
我刪除了「@」字符。但即使'error_reporting'被設置爲'(E_ALL)',我仍然沒有得到任何錯誤。我也確定輸入文件是一個有效的PNG,如果我使用瀏覽器直接調用該文件,我可以顯示它。 – noway 2012-03-23 09:23:34