各位大家好,小弟我又遇到一個解不了的問題 ...
我利用 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
1F:→ bibo9901:$im .. $img 02/23 20:51
2F:→ ontario:sorry ... should be $im ... but it still not works 02/23 20:55
※ 編輯: ontario 來自: 219.84.232.5 (02/23 20:59)
3F:→ bibo9901:怪了 我測很正常耶 一張黑黑的圖片 02/23 21:09
4F:→ ontario:ok...我為了debug,我在L5加了一行echo 'abc'; 02/24 00:02
5F:→ ontario:結果,就不行了。若我把L5的echo 'abc';拿掉,則OK 02/24 00:02
6F:→ ontario:所以這衍生出另外一個問題,為什麼我不能echo一個字串? 02/24 00:03
※ 編輯: ontario 來自: 219.84.232.5 (02/24 00:09)
7F:推 kerash:圖片類型本來就不會有字串產生,當然不能用echo字串 02/24 00:10
※ 編輯: ontario 來自: 219.84.232.5 (02/24 00:11)
8F:→ kerash:我測試過原先的程式碼是沒問題的 02/24 00:11
9F:→ ontario:原來如此。我以為echo的字串會先顯現,imagepng($im)才會 02/24 00:18
10F:→ ontario:顯示圖片。(我以為兩個是分開的)。原來不能混用。 02/24 00:19
11F:→ ontario:謝謝!真的非常感謝!^^ 02/24 00:20
12F:推 kerash:可以在php.net 找header,因為你使用的是 Content-type 02/24 00:23
13F:→ kerash:是將該網頁的類型轉成某個格式(ex:jpg,pdf...etc) 02/24 00:24
14F:→ kerash:其他的 header 方式則會有其他的限制,例如 location 02/24 00:25
15F:→ kerash:在使用header(location)時,該行之前不可有輸出 02/24 00:26
16F:→ kerash:當然也有更改方法(用ob_start or 修改 php.ini) 02/24 00:26