$f = $_GET['f'];
//f = filename i.e file.mp3
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($f));
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($f));
ob_clean();
flush();
此代碼的工作,如果我都保存在根目錄中的MP3文件,但如果我把它們存儲在一個單獨的文件夾,如/文件基名對於迪爾
我曾試圖改變它不確實基地名稱和添加路徑到$f
,但沒有運氣
有沒有辦法我可以有這樣的代碼從dir而不是根下載文件?
這不僅僅是一個安全問題,它是對你的服務器的邀請... – KingCrunch
我沒有看到你實際上在任何地方輸出文件... –
我忘了添加readfile()它在那裏雖然 –