2010-08-06 59 views
-1

我想要將圖像加載到PHP服務器並將其發送給瀏覽器的代碼。如何在PHP中加載圖像

例如,我想要sample.php一旦請求就發送圖像給瀏覽器。 換句話說,我想創建一個像文件代理一樣的PHP文件。

+0

這不是一個真正的問題呢。圖像應該來自哪裏?你想如何將它加載到服務器?你想在什麼時候提供服務? – 2010-08-06 21:08:46

+0

那麼,除了'img'標籤之外,還是重定向到服務器上的圖像位置? – Tarka 2010-08-06 21:09:00

+0

無論如何,這將是有趣的你:http://www.php.net/manual/en/features.file-upload.php – 2010-08-06 21:09:39

回答

0

您需要使用

$image = fopen("image.png"); 
Modify the headers(not sure exacly if it's correct) 
headers("Content-type: image/png"); 
And then send the image 
echo fread($image, file_size("image.png")); 
1

你爲什麼這樣做? 爲什麼不直接傳送圖像? 如果你想顯示一個隨機的形象,你不妨使用

header("Location: address-of-image"); 

從你的服務器從你可以做它的原始位置的文件提供給您的客戶,而不只是重定向到的圖像。但是你的php.ini的設置需要允許外部文件打開,如果你要在img標籤來顯示圖像, altough我會推薦它

readfile("http://www.example.com/image.jpg") 

正確的標題不是必需的。你應該檢查圖像的文件類型,或者在大多數情況下只需設置一個八位字節流標題,這樣瀏覽器就不會假設文本或類似的不正確類型,並嘗試顯示二進制數據。 這樣做只是做

header("Content-type: application/octet-stream") 

一件事要考慮高速緩存,可以設置正確的頭......