duangaixing1509 2015-02-23 21:29
浏览 27
已采纳

phpdocx + ob_clean + download = error

I use phpdocx library to make reports in Word. By default, download function contains these lines:

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

With ob_clean function nothing happens - nothing is loaded. If I comment out this line, then the file starts to load. But it gets loaded with an error, which appears when I try to open the file. The error message says that the file is corrupt etc. However, if I open the temporary file itself - it is ok. So, what I want to know is what can be wrong with ob_clean function and with the download function on the whole.

EDIT

I replaced ob_clean with ob_end_clean and the problem has gone away.

  • 写回答

1条回答 默认 最新

  • drgwsx8405 2015-02-23 21:35
    关注

    You don't need to use ob clean or flush; there is a built in function that does that for phpdocx:

    For example:

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效