2012-06-21 759 views
-1

我正在嘗試使用PHP下載文件。現在該文件已下載,但未達到原始格式(缺少擴展名)。使用原始文件擴展名重命名後,我可以使用下載的文件。我使用下面的代碼文件下載無法正常工作

header("Expires: 0"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
header("Content-type: application/".$result['ext']); 
header('Content-length: '.filesize($file)); 
header('Content-disposition: attachment; filename='.$result['file_name']); 
readfile($file); 
exit; 

其中

$result['ext']="rar", 
$file="file path to the uploaded folder". 

回答

2

我敢肯定,你必須擴展到文件名的瀏覽器發送作爲Content-disposition頭的一部分。

爲您的代碼,你就必須改變這一點:

header('Content-disposition: attachment; filename='.$result['file_name']); 

到:

$filename = $result['file_name'] . '.' . $result['ext']; 
header('Content-disposition: attachment; filename=' . $filename); 
+0

由於現在正在 – user1467983

+0

我如何評價你。對不起,我在這裏看不到任何選項:( – user1467983

+0

不客氣!在詢問問題15分鐘後,您將無法接受答案。有關詳細信息,請參閱[如何接受答案工作](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – nickb