【问题标题】:PHP Large report file download issuePHP大报告文件下载问题
【发布时间】:2009-09-14 20:58:41
【问题描述】:

已解决

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

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

(Joel Spolsky 的注意事项 - 请致电您原来 Excel 开发团队的朋友,并为我大喊大叫 =o)

谢谢!


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

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

仅当我在标题中将其设置为下载时才会发生这种情况。如果我把 content-type、content-disposition 等注释掉,只把数据写入浏览器,那么整个文件就会下载并显示在浏览器中。

代码如下:

// Code removed.

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

谢谢!

【问题讨论】:

    标签: php reporting timeout browser


    【解决方案1】:

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

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

    【讨论】:

    • 这是我在想通之前要做的事情。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-06-24
      • 1970-01-01
      • 2023-04-10
      • 2011-02-07
      • 1970-01-01
      • 2011-04-14
      • 2016-02-18
      • 2013-11-02
      相关资源
      最近更新 更多