【发布时间】:2017-04-20 10:42:38
【问题描述】:
我正在尝试生成报告并上传。问题是当生成文件的函数以 readfile() 结尾时,即使我在函数调用之前放置了ob_start(),它也只会下载文件。所以我不明白为什么ob_start 没有抓住它。
问题应该在这里
我打电话给
ob_start()-
然后我调用像这样输出文件的函数
header('Content-Type: application/vnd.openxmlformats-officedocument.' . 'wordprocessingml.document'); header('Content-Disposition: attachment; filename="' . $fileNameDownload . '"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($fileName . '.' . $this->_extension)); readfile($fileName . '.' . $this->_extension); 在之前的函数调用之后我把
$content = ob_get_contents();
和 4.ob_end_clen()
我希望 readfile() 函数将开始写入缓冲区,但它会输出文件以供下载
【问题讨论】:
-
向我们展示代码,否则我只能看到类似 stackoverflow.com/questions/10938822/… 的内容的副本
-
我稍微编辑了一下,希望就够了,否则就是几百行代码。
-
在不回显缓冲区内容的情况下,您是否查看了脚本执行结束时实际下载的内容?我的想法是你遇到了标题冲突。 stackoverflow.com/questions/3111179/…