2014-04-27 137 views
-2

我有一些圖像存儲在無法通過URL訪問的目錄中(目錄不公開)。從私人目錄中顯示圖像

如何使用PHP在html頁面中顯示這些圖像?

+3

爲什麼downvote?我可以改變這個問題,如果我錯過了一些東西,只需告訴我... – Matthew

+0

該目錄是否可以用'exec'命令訪問? –

+0

@ pc-shooter如果我需要依賴OS命令,我寧願重新設計我的應用程序的那部分。不過,我希望有一個更簡單的解決方案。 – Matthew

回答

4

理想情況下,你會只是使目錄訪問,但如果那是絕對不可能的,那麼你可以這樣做:

myimage.php

$file = 'privatedir/image.jpg'; 
$type = 'image/jpeg'; 
header('Content-Type:'.$type); 
header('Content-Length: ' . filesize($file)); 
readfile($file); 
exit(); 

然後用myimage.php作爲img標籤的src 。

+0

OP可能需要顯示多個圖像。在這種情況下,將文件名作爲查詢字符串參數傳遞給PHP腳本會很好(請務必首先徹底清除它)。 – DCoder

+0

如果我使用這種方法顯示圖像,會損失性能嗎?也許我應該考慮緩存readfile的輸出。 – Matthew

+0

@Matthew:是的,你會失去表現。但你已經要求它使用PHP,所以你失去了性能是在你要求它使用PHP。 – hakre