当前位置:  开发笔记 > 编程语言 > 正文

如何在没有内容长度的PHP中发送数据?

如何解决《如何在没有内容长度的PHP中发送数据?》经验,为你挑选了1个好方法。

我知道这是可能的,但我似乎无法弄明白.

我有一个mySQL查询,有几十万个结果.我希望能够发送结果,但似乎响应需要内容长度标头才能开始下载.

在phpMyAdmin中,如果你去导出一个数据库,它立即开始下载,FF只是说未知的文件大小,但它的工作原理.我查看了那段代码,但无法理解.

救命?

谢谢.



1> kender..:

第14.14节中的这个文件规定,在HTTP中,只要在传输之前确定消息的长度,就应该发送它,除非第4.4节中的规则禁止这样做.这意味着如果你不能说它的大小,就不必发送它.

只是不要发送它.

如果要在所有数据可用之前将部分数据发送到浏览器,是否要刷新输出缓冲区?也许这就是问题所在,而不是缺少标题?

你使用flush的方式是这样的:

生成一些输出,应将其添加到缓冲区

flush()它,它应该将当前缓冲区发送到客户端

转到1

因此,如果您的查询返回了大量结果,您可以生成输出,比如100或1000,然后刷新,依此类推.

此外,要告诉客户端浏览器尝试保存文件而不是在窗口中显示它,您也可以尝试使用Content-disposition:attachment标头.请参阅此处的规范,19.5.1部分.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有