2013-06-01 78 views
0

我想知道是否有一個選項(在PHP中)來顯示文件。因此,例如我想要一個file.php文件,它會在輸入file.php?file = text.pdf時顯示text.pdf。我爲png寫了一個小腳本。不過,我希望將它用於每種文件格式,因此它支持png與pdf等同。 有沒有讀取文件並打印的方法?這對於用戶權限有限的文件管理系統確實有幫助PHP顯示多個文件

+0

您希望能夠「顯示」該文件,或者您希望能夠下載該文件嗎? – tftd

+0

我只是重新思考我的想法,下載就足夠了。是否有捷徑可尋? –

回答

0

此代碼應該能夠獲得任何文件下載。

$file = '/path/to/your/file.png'; 
$finfo = new finfo(FILEINFO_MIME_TYPE); 
$mime = $finfo->file($file); 
header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment; filename="'.basename($file).'"'); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
header('Pragma: public'); 
header('Content-Length: ' . filesize($file)); 
echo file_get_contents($file); 
+0

不知何故,當我用'filesize()'替換'sizeof()'時,這個腳本只適用於我。爲什麼會發生? –

+0

你的評論絕對正確!您應該使用'filesize($ file)',因爲'sizeof'是'count()'的別名 – tftd