0
我有PHP辦公室集成在一個laravel應用程序。它運行在我的xampp本地主機上,但是當我在IIS生產服務器上使用它時,我得到「我們很抱歉,我們無法打開text.docx,因爲我們發現它的內容有問題。並且無法打開。「我可以通過點擊兩個錯誤彈出窗口警告我有關「無法讀取的內容」,然後打開文件。當我最終打開它時,該文件看起來很好。 IIS服務器使用PHP版本5.6.14,libxml2版本2.9.2與XML閱讀器&作者啓用和Zend擴展220131226. 這裏是有問題的代碼,我拉出部分,仍然有相同的錯誤,所以我知道它不是我的字符串格式。 也可能相關的是,在兩臺服務器上,文檔都以「讀取模式」而不是「打印版式」打開。我寧願它在打印版式中打開。PHPWord文件在IIS服務器上損壞
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$phpWord->getCompatibility()->setOoxmlVersion(15);
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
header("Content-Description: File Transfer");
header('Content-Disposition: attachment; filename="' . $client->last_name . '.docx"');
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
$objWriter->save("php://output");