@Iossarian

Почему PHPWord отдает битый файл?

Добрый вечер. Использую следующий код для заполнения файла с помощью PHPWord в yii2 на Ubuntu:
$PhpWord = new \PhpOffice\PhpWord\PhpWord();
                $document = $PhpWord->loadTemplate('/var/www/basic/web/Dogovor.docx'); //шаблон
                $document->setValue('company_name', $_POST['News']['title'] );
                $document->setValue('worker',  $_POST['News']['text']);
            header("Content-Type:application/vnd.ms-office");
            header('Cache-Control: max-age=0');
            header('Content-Disposition: attachment;filename="Dogovor.docx"');
            $document->saveAs('php://output');

При попытке открытия файла, он ломается и предлагает попробовать его восстановить, но успехом это не заканчивается.
5c77e5a0e2d82252738633.png
Если же сохранять заполненный файл локально, а не отдавать в браузер, то проблем нет. В чем может быть дело?
  • Вопрос задан
  • 709 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Iossarian Автор вопроса
Решение оказалось в использовании метода renderPartial() заместо render().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы