php post不完整,如何在PHP中检查不完整的POST请求

在遇到远程Web客户端因连接速度慢导致POST请求发送不完整,PHP仍使用部分数据填充$_POST数组的问题时,如何验证请求是否已完全接收。示例中提到Content-Length为10000字节,但实际只发送了vara=A。PHP脚本显示$_POST['a']为A。问题在于如何在PHP中检查实际接收到的内容长度,而不仅仅是依赖请求头的Content-Length。
摘要由CSDN通过智能技术生成

当连接速度较慢的远程Web客户端无法发送带有multipart / form-data内容的完整POST请求但

PHP仍然使用部分接收的数据来填充$_POST数组时,我遇到了问题.因此,$_POST数组中的一个值可能不完整,可能会丢失更多值.我试图在

Apache list中首先提出相同的问题并得到

an answer,Apache没有缓冲请求体并将其作为一个传递给PHP模块

巨大的斑点.

这是我的示例POST请求:

POST /test.php HTTP/1.0

Connection: close

Content-Length: 10000

Content-Type: multipart/form-data; boundary=ABCDEF

--ABCDEF

Content-Disposition: form-data; name="a"

A

--ABCDEF

您可以看到Content-Length是10000字节,但我只发送一个var a = A.

PHP脚本是:

我的请求的其余部分Web服务器等待大约10秒钟(但我不发送任何内容),然后返回此响应:

HTTP/1.1 200 OK

Date: Wed, 27 Nov 2013 19:42:20 GMT

Server: Apache/2.2.22 (Debian)

X-Powered-By: PHP/5.4.4-14+deb7u3

Vary: Accept-Encoding

Content-Length: 23

Connection: close

Content-Type: text/html

Array

(

[a] => A

)

所以这是我的问题:如何在PHP中验证邮件请求是否已完全收到? $_SERVER [‘CONTENT_LENGTH’]会从请求标头显示10000,但有没有办法检查收到的实际内容长度?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值