Is there any way to get size of POST-request body in PHP?
相关问题
- Views base64 encoded blob in HTML with PHP
- Laravel Option Select - Default Issue
- PHP Recursively File Folder Scan Sorted by Modific
- Can php detect if javascript is on or not?
- Using similar_text and strpos together
This might work :
If you're trying to figure out whether or not a file upload failed, you should be using the PHP file error handling as shown at the link below. This is the most reliable way to detect file upload errors:
http://us3.php.net/manual/en/features.file-upload.errors.php
If you need the size of a POST request without any file uploads, you should be able to do so with something like this:
I guess you are looking for
$HTTP_RAW_POST_DATA
As simple as:
Note that $_SERVER['CONTENT_LENGTH'] is only set in HTTP Requests via POST method. This is the raw value of the Content-Length header. See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
In the case of file uploads, if you want to get the total size of uploaded files, you should iterate over the $_FILE elements to sum each $file['size']. The exact total size does not match the raw Content-Length value due to the encoding overhead of the POST data.
Also note that for file errors, you should check the $file['error'] code of each $_FILES element. For example, partial uploads will return error UPLOAD_ERR_PARTIAL and empty uploads will return UPLOAD_ERR_NO_FILE. See file upload errors documentation in the PHP manual.
My guess is, it's in the
$_SERVER['CONTENT_LENGTH']
.And if you need that for error detection, peek into
$_FILES['filename']['error']
.