获取 PHP 中 POST 请求的大小
有没有办法在PHP中获取POST请求正文的大小?
简单如下:
$size = (int) $_SERVER['CONTENT_LENGTH'];
请注意,仅当 HTTP 请求方法是 POST(而不是 GET)时,才设置该值。这是 RFC 7230 中指定的标头的原始值。$_SERVER['CONTENT_LENGTH']
Content-Length
在文件上传的情况下,如果要获取上传文件的总大小,则应循环访问数组以对每个 .由于 POST 数据的编码开销,确切的总大小可能与原始值不匹配。(另请注意,您应该使用每个元素的代码检查上传错误,例如部分上传或空上传。请参阅 PHP 手册中的文件上传错误文档。$_FILE
$file['size']
Content-Length
$file['error']
$_FILES
UPLOAD_ERR_PARTIAL
UPLOAD_ERR_NO_FILE
如果您试图确定文件上传是否失败,则应使用PHP文件错误处理,如下面的链接所示。这是检测文件上传错误的最可靠方法:
http://us3.php.net/manual/en/features.file-upload.errors.php
如果您需要在没有任何文件上传的情况下获得POST请求的大小,您应该能够使用如下方式执行此操作:
$request = http_build_query($_POST);
$size = strlen($request);