Ответ 1
Так просто как:
$size = (int) $_SERVER['CONTENT_LENGTH'];
Обратите внимание, что $_SERVER['CONTENT_LENGTH']
устанавливается только тогда, когда для HTTP-запроса используется метод POST (не GET). Это необработанное значение заголовка Content-Length
, как указано в RFC 7230.
В случае загрузки файлов, если вы хотите получить общий размер выгруженных файлов, вы должны $_FILE
итерацию по массиву $_FILE
для суммирования каждого $file['size']
. Точный общий размер может не совпадать с необработанным значением Content-Length
из-за накладных расходов кодирования данных POST. (Также обратите внимание, что вы должны проверять наличие ошибок загрузки, используя код $file['error']
каждого элемента $_FILES
, например UPLOAD_ERR_PARTIAL
для частичной загрузки или UPLOAD_ERR_NO_FILE
для пустой загрузки. См. Документацию по ошибкам загрузки файлов в руководстве по PHP.)