phpdocx + ob_clean + 下载 = 错误

phpdocx + ob_clean + download = error

我使用 phpdocx 库在 Word 中制作报告。默认情况下,download 函数包含这些行:

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

使用 ob_clean 函数没有任何反应 - 没有加载任何内容。如果我注释掉这一行,文件就会开始加载。但是它加载时出现错误,当我尝试打开文件时会出现该错误。错误消息说文件已损坏等。但是,如果我打开临时文件本身 - 没问题。所以,我想知道的是 ob_clean 功能和整个下载功能有什么问题。

编辑

我用 ob_end_clean 替换了 ob_clean,问题消失了。

您不需要使用 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