PHP - 您可以使用POST方法在很长一段时间内将数据流式传输到服务器吗?

时间:2013-05-21 05:55:22

标签: php html cgi http-post

警告,我知道这有可能成为一个荒谬的愚蠢问题,但我有了想法,想知道答案。

目标:使用没有ajax或websockets等的单个请求在浏览器和服务器之间运行交互式会话。

场景:服务器上的PHP文件通过POST方法从用户接收数据。标头中的内容长度为8MB,因此它保持连接打开,直到它收到8MB的完整数据。但在用户方面,我们非常缓慢地提供这些数据(例如,模拟可怕的连接)。服务器一次接收数据位。 [可以将其传递给PHP文件以一次处理位数吗?或者只有在收到所有数据后它才会被传递?]然后它会根据需要对这些位执行任何操作,并在回显循环中将其传递给浏览器。在某些时间间隔,用户将新数据注入“流”,该流将被连续的填充数据流包围。

这有可能吗?甚至是CGI?我希望这不是真的可能,但如果有人确实有一个糟糕的连接并且POST数据很大,那么什么会阻止进程暂停?

2 个答案:

答案 0 :(得分:0)

据我所知,您可以这样做,但是您使用POST数据调用的PHP文件只有在收到所有数据后才会被Web服务器调用。否则,假设您正在发送带有POST的图像,并且您的PHP脚本将此图像从tempfiles目录移动到另一个目录,在收到所有数据之前,您将拥有一个损坏的图像,仅此而已。

答案 1 :(得分:0)

只要ini配置被正确更改,我就会这么认为。但尝试是一个很好的考验!