我正在 PHP 中创建一些特定的应用程序,这些应用程序从客户端接收数据并对其进行处理。
有时客户端发送的数据可能非常大或长度未知。
所以我想问是否可以让PHP在客户端完成上传之前开始处理数据?
这是我想要的:
从 PHP 文档可以使用 PUT 方法并通过 php://input
http://www.php.net/manual/en/features.file-upload.put-method.php
接收内容
我打算使用具有分块传输编码的 PUT 方法。
但我只是尝试将 PUT 方法发送到 phpinfo.php (你知道里面有什么。)
并且故意不发送最后一个块。(零长度块)
除非我完成请求,否则 PHP 不会响应。
(这不是我对 PUT 方法的期望,它应该有某种优点。如果它无法及早启动 PHP,我宁愿使用普通的 POST 方法。)
根据这个主题
,我可以在完成接收之前回复 HTTP 请求吗?
我不认为 PHP 的早期响应会破坏 HTTP。
(不用担心我自己写的客户。)
注意:将数据分成多个请求不是一种选择,因为为了处理数据,有一些内存/对象不能在多个 PHP 实例之间共享。(即使在 MySQL 中有内存表。)