天天看點

php post不完整,如何在PHP中檢查不完整的POST請求

當連接配接速度較慢的遠端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,但有沒有辦法檢查收到的實際内容長度?