使用PHP,强制浏览器下载Word文档

使用PHP,强制浏览器下载Word文档,php,html,Php,Html,为了解决下载动态生成Word文档的问题,我一直把头撞在墙上。我想有一个解决方案,点击按钮,它会要求用户下载word文档。我能够生成word文档,但是它被保存在我的本地目录中,并且没有要求特定的下载位置。之后,我做了一些更改,但随后它停止生成word文档。我不确定我做错了什么。 有人能告诉我我做错了什么吗 <? ini_set('display_errors',1); ini_set('display_startup_errors',1); require_once($_SERVER['DO

为了解决下载动态生成Word文档的问题,我一直把头撞在墙上。我想有一个解决方案,点击按钮,它会要求用户下载word文档。我能够生成word文档,但是它被保存在我的本地目录中,并且没有要求特定的下载位置。之后,我做了一些更改,但随后它停止生成word文档。我不确定我做错了什么。 有人能告诉我我做错了什么吗

<?
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
require_once($_SERVER['DOCUMENT_ROOT'].'/vendor/phpoffice/src/PhpWord/Autoloader.php');

\PhpOffice\PhpWord\Autoloader::register();
$phpWord = new \PhpOffice\PhpWord\PhpWord();
if(isset($_POST['postData'])){
$jsonData = json_decode($_POST['postData'],true);
$fieldText = $jsonData['testingTime'];
$section = $phpWord->addSection();
$header = $section->addHeader();
$section->addText($fieldText);
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord,'Word2007');
//$filename  = "Result.docx"; #Also, this is not working
$objWriter->save('Result.docx');
header('Content-Description: File Transfer');
//header('Content-Type: application/force-download');
header('Content-type: application/octet-stream');
header("Content-Disposition: attachment; Filename=Result.docx");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
header('Pragma: public');
header('Content-Length: ' .filesize('Result.docx'));
flush();
readfile('Result.docx');
unlink('Result.docx'); // deletes the temporary file
exit;}
?>


为什么有两个
内容类型
标题?您应该只有
应用程序/octet流
一个。我把它注释掉了,但它仍然不起作用(我可以知道,为什么要投否决票吗?可能是因为至少有20个类似的问题的答案是公认的和有效的。目前我不确定你的代码出了什么问题。尝试搜索其他类似的问题。我搜索了它,但无法解决,这就是我来这里的原因。.我没有得到不必要的发帖问题的乐趣。如果解决方案是存在的,为什么我要花半个小时来发布问题而不是实施解决方案..而且我真的不知道为什么人们在提出问题的原因之前会去投票为什么你有两个
内容类型
标题?你应该只有
应用程序/octet流
一个。我评论说,但它仍然不起作用(我可以知道,为什么要投否决票吗?可能是因为至少有20个类似的问题的答案是公认的和有效的。目前我不确定你的代码出了什么问题。尝试搜索其他类似的问题。我搜索了它,但无法解决,这就是我来这里的原因。.我没有得到不必要的发帖问题的乐趣。如果答案就在那里,为什么我要花半个小时来发布问题而不是实施解决方案呢?我真的不知道为什么在问问题发布的原因之前,人们会去投票