通过PHP损坏强制docx文件下载

时间:2014-02-26 08:30:54

标签: php download 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);

2 个答案:

答案 0 :(得分:2)

这个脚本适合我。

您确定所有文件都位于/home/

您不是指相对路径home/

如果这仍然不起作用,请告诉你下载的docx的大小是多少,并在文件编辑器中打开该文件,如sublime_text,错误可能会写在那里。

答案 1 :(得分:0)

您可以尝试修改处置行并添加编码行以确保正确完成编码。

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