PHP大型报告文件下载问题

PHP Large report file download issue

提问人:Eli 提问时间:9/15/2009 最后编辑:Eli 更新时间:9/15/2009 访问量:387

问:

解决

我实际上发现了这里发生了什么。

原来它发送了整个文件,但 Excel(我用它来打开结果文件进行测试)只会显示 65536 行。如果有更多,它会提醒一些“文件显示不完整”的效果,然后在这么多记录后将其切断。

(注意 Joel Spolsky - 请打电话给你原来的 Excel 开发团队的朋友,并为我大喊大叫 =o)

谢谢!


我有一个非常简单的脚本,它从数据库中提取一些数据,并将其作为 .csv 文件发送给访问者。

我将内存和执行时间设置为可接受的水平,但对于一些大型报表,我注意到下载在大约 10 秒后中断。

只有当我在标题中将其设置为下载时,才会发生这种情况。如果我注释掉内容类型、内容处置等,然后将数据写入浏览器,那么整个文件将下载并显示在浏览器中。

代码如下:

// Code removed.

有人有什么想法吗?这可能是文件下载的浏览器问题吗?

谢谢!

PHP 报告 超时 浏览器

评论


答:

1赞 André Hoffmann 9/15/2009 #1

我不知道是什么原因导致了您的问题,但您可以尝试以下方法:

将数据写入文件,然后使用 X-Sendfile(请参阅)标头将其发送给用户。或者,您可以重定向到该文件。

评论

0赞 Eli 9/15/2009
这就是我在弄清楚之前要做的事情。
1赞 Ross Morrissey 9/15/2009 #2

我遇到了一个稍微类似的问题,但下载速度很慢。罪魁祸首是一个过于激进的防病毒包,只影响IE下载。检查 Mcshield .exe。