我正在尝试使用" PHPWord"下载docx文件。
如果我尝试将文件保存到服务器上,它可以正常工作。但是如果添加标题以下载它,那么文件将以损坏的形式显示。
注意:我使用openOffice打开它。
这是我的代码:
$document->save($doc);
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header("Content-Disposition: attachment; filename=CV.docx");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($doc));
readfile($doc);
有人可以告诉我这个问题是什么吗?
答案 0 :(得分:3)
让我猜一下:
您的程序在发送 ...然后是 如果是这种情况,你不应该在header
之前输出了一些文本(如果你不要手动echo
这可能是一个php警告,那个也算作输出)。因此,在文件的实际输出中,如果使用简单的文本编辑器将其打开为txt
(只需将扩展名重命名为.txt
并使用记事本打开它),则第一行将是:< / p>
Warning: Cannot modify header information - headers already sent by (output started at /some/file.php:12) in /some/file.php on line 23
doc
文件的其余部分。当然那已经腐败了。header
之前输出任何