[請益] 關於GD無法顯示圖片的問題 - [更新]

看板PHP作者時間13年前 (2012/02/23 20:36), 編輯推噓2(2014)
留言16則, 3人參與, 最新討論串1/1
各位大家好,小弟我又遇到一個解不了的問題 ... 我利用 GD2 的提供的函式寫了一個 png 檔,想要直接丟到瀏覽器上觀看 可是瀏覽器上看到的都是「無法顯示圖片」的「圖示」 ... 就是一個方框框裡面一個 X L1: <?php L2: //$im = imagecreatefrompng("test.png"); L3: $im = imagecreatetruecolor(100, 25); L4: header('Content-Type: image/png'); L5: //echo 'here'; L6: imagepng($im); L7: imagedestroy($im); L8: ?> 1) 若我把 L5 的註解拿掉,則無法顯示圖片 請問為什麼會這樣呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.232.5

02/23 20:51, , 1F
$im .. $img
02/23 20:51, 1F

02/23 20:55, , 2F
sorry ... should be $im ... but it still not works
02/23 20:55, 2F
※ 編輯: ontario 來自: 219.84.232.5 (02/23 20:59)

02/23 21:09, , 3F
怪了 我測很正常耶 一張黑黑的圖片
02/23 21:09, 3F

02/24 00:02, , 4F
ok...我為了debug,我在L5加了一行echo 'abc';
02/24 00:02, 4F

02/24 00:02, , 5F
結果,就不行了。若我把L5的echo 'abc';拿掉,則OK
02/24 00:02, 5F

02/24 00:03, , 6F
所以這衍生出另外一個問題,為什麼我不能echo一個字串?
02/24 00:03, 6F
※ 編輯: ontario 來自: 219.84.232.5 (02/24 00:09)

02/24 00:10, , 7F
圖片類型本來就不會有字串產生,當然不能用echo字串
02/24 00:10, 7F
※ 編輯: ontario 來自: 219.84.232.5 (02/24 00:11)

02/24 00:11, , 8F
我測試過原先的程式碼是沒問題的
02/24 00:11, 8F

02/24 00:18, , 9F
原來如此。我以為echo的字串會先顯現,imagepng($im)才會
02/24 00:18, 9F

02/24 00:19, , 10F
顯示圖片。(我以為兩個是分開的)。原來不能混用。
02/24 00:19, 10F

02/24 00:20, , 11F
謝謝!真的非常感謝!^^
02/24 00:20, 11F

02/24 00:23, , 12F
可以在php.net 找header,因為你使用的是 Content-type
02/24 00:23, 12F

02/24 00:24, , 13F
是將該網頁的類型轉成某個格式(ex:jpg,pdf...etc)
02/24 00:24, 13F

02/24 00:25, , 14F
其他的 header 方式則會有其他的限制,例如 location
02/24 00:25, 14F

02/24 00:26, , 15F
在使用header(location)時,該行之前不可有輸出
02/24 00:26, 15F

02/24 00:26, , 16F
當然也有更改方法(用ob_start or 修改 php.ini)
02/24 00:26, 16F
文章代碼(AID): #1FHZAuLX (PHP)
文章代碼(AID): #1FHZAuLX (PHP)