2014-02-26 75 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文本编辑器打开该文件,错误可能会写在那里。