2012-06-05 52 views
1

可能重複:
Allow users to download files outside webroot讓用戶下載不在網絡目錄中的文件?

嗨,大家好我想用PHP來允許用戶從我的服務器上的目錄,是不是我的「網絡」文件的一部分下載文件。 ..有沒有辦法做到這一點?

例如

我的網頁文件是/ www/BLA/BLA

,但我想下載的文件都在/ home/BLA/BLA

+0

查看如何讓apache跟隨鏈接。或等待某人發佈有關該問題的答案。我已經完成了,但是沒有可用的配置。 – Almo

回答

2

你可以做的是這樣的:

$file = '/home/bla/bla/file.ext';  

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'); 
header('Pragma: public'); 
header('Content-Length: ' . filesize($file)); 
ob_clean(); 
flush(); 
readfile($file); 
exit; 

readfile()只是檢索文件的內容並打印此。其餘的代碼是強制下載。