我使用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
,问题已经消失。
答案 0 :(得分: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