2014-02-26 115 views
1

我知道這裏有很多提到,但我已經嘗試了所有的建議,似乎沒有任何工作。通過PHP強制docx文件下載損壞

我有這個腳本來強制下載文件,但是當使用docx格式時,它會下載確定,但接着說文件已損壞。然而,單詞確實設法打開它。

有誰知道爲什麼docx會一直說腐敗。我已經從服務器上通過ftp來檢查他們,他們很好,第一次打開。

$documentDir = '/home/'; 
$file = $_GET['d']; 
$fileLocation = $documentDir.$file; 
header('Content-type: application/octet-stream'); 
header('Content-Length: ' . filesize($fileLocation)); 
header('Content-disposition: attachment; filename="'.$file.'"'); 
readfile($fileLocation); 
exit(0); 
+0

這是否適用於其他文件嗎? – psiess

回答

0

您可以嘗試修改配置行並添加編碼行以確保正確編碼。

header ("Content-Disposition: attachment; filename*=UTF-8'en'$file"); 
header('Content-Transfer-Encoding: binary'); 
+0

謝謝,但沒有任何區別。 – user1572993

1

此腳本適用於我。

確定您的所有文件都位於/home/

難道你的意思是相對路徑home/

如果這仍然不起作用,你可以告訴什麼是下載的docx的大小,像sublime_text文本編輯器打開該文件,錯誤可能會寫在那裏。