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