2012-02-10 104 views
0

我創建圖像輸出。當我打電話給最後的imagegif()時,我得到了通常的「圖像sdfsdsdf由於包含錯誤而無法顯示」。但如果我通過第二個參數保存此圖像,它會生成有效的GIF圖像!並且imagegif()返回true。 現在呢?imagegif()奇怪失敗

+0

向我們展示一些代碼。 – rekire 2012-02-10 23:11:49

回答

1

但是,如果我用第二個參數保存此圖像,結果將產生一個有效的GIF圖像 ! imagegif()返回true。怎麼辦?

檢查腳本的輸出 - 它向瀏覽器發送其他內容。通常,在<?php標記之前,它可能是錯誤/警告/通知消息,來自該腳本的文本輸出或來自該腳本的另一個文本輸出,空格/新行或其他內容(如腳本文件中的UTF編碼中的BOM記錄)。

解決方法很簡單 - 評論header('Content-Type: image/gif');並直接調用腳本(而不是頁面包括腳本生成的圖像)​​。檢查圖像文件本身的二進制內容的「垃圾」之前的任何內容。

如果錯誤報告/顯示也關閉,您可能需要在腳本的頂部添加error_reporting(E_ALL); ini_set('display_errors', 1);

1

,如果你有一個參數使用imagegif(),然後becouse的圖像顯示在瀏覽器,否則將圖像保存到文件,需要使用和

header('Content-Type: image/gif'); 

+0

是啊,它已經在那裏! – 2012-02-10 23:17:09