phpdocx + ob_clean + download = ошибка

я использую phpdocx библиотека для создания отчетов в Word. По умолчанию, download Функция содержит следующие строки:

$this->save($tmp_filename);
... many headers
ob_clean();
flush();
readfile($tmp_filename);
exit;

С ob_clean Функция ничего не происходит — ничего не загружается. Если я закомментирую эту строку, то файл начнет загружаться. Но он загружается с ошибкой, которая появляется, когда я пытаюсь открыть файл. Сообщение об ошибке говорит, что файл поврежден и т. Д. Однако, если я открою сам временный файл — это нормально. Итак, я хочу знать, что может быть не так с ob_clean функция и с функцией загрузки в целом.

РЕДАКТИРОВАТЬ

Я заменил ob_clean с ob_end_clean и проблема ушла.

1

Решение

Вам не нужно использовать ob clean или flush; есть встроенная функция, которая делает это для phpdocx:

Например:

require_once '../../classes/CreateDocx.inc';
$docx = new CreateDocx();
$text = 'Lorem ipsum dolor sit amet.';
$docx->addText($text, $paramsText);
$docx->createDocxAndDownload('example_text');

@ref: http://www.phpdocx.com/api-documentation/layout-and-general/create-and-download-docx-with-PHP

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]