Получите размер запроса POST в PHP

Мы недавно запретили его в нашем Delphi, кодирующем stnadards.

профессионалы часто перевешивали недостатки.

, Который является ошибками, представлялись из-за его неправильного употребления. Они не выровняли по ширине сбережения вовремя, чтобы записать или выполнить код.

Да, с помощью с банкой, ведомой к (мягко) более быстрому выполнению кода.

В следующем, нечто только оценено однажды:

with foo do
begin
  bar := 1;
  bin := x;
  box := 'abc';
end

, Но, здесь это оценено три раза:

foo.bar := 1;
foo.bin := x;
foo.box := 'abc';
17
задан Andrey M. 1 September 2009 в 09:21
поделиться

5 ответов

Если вы пытаетесь выяснить, не удалась ли загрузка файла, вы должны использовать обработку ошибок файла PHP, как показано по ссылке ниже. Это наиболее надежный способ обнаружения ошибок загрузки файлов:
http://us3.php.net/manual/en/features.file-upload.errors.php

Если вам нужен размер POST-запроса без загрузки файлов , вы можете сделать это примерно так:

$request = http_build_query($_POST);
$size = strlen($request);
5
ответ дан 30 November 2019 в 10:46
поделиться

Это может сработать:

$bytesInPostRequestBody = strlen(file_get_contents('php://input'));
// This does not count the bytes of the request's headers on its body.
2
ответ дан 30 November 2019 в 10:46
поделиться

Думаю, вы ищете $ HTTP_RAW_POST_DATA

0
ответ дан 30 November 2019 в 10:46
поделиться

Я предполагаю, что он находится в $ _ SERVER ['CONTENT_LENGTH'] .

И если вам это нужно для обнаружения ошибок, загляните в $ _ FILES ['имя файла'] ['ошибка'] .

5
ответ дан 30 November 2019 в 10:46
поделиться

Просто:

$size = (int) $_SERVER['CONTENT_LENGTH'];

Обратите внимание, что $ _ SERVER ['CONTENT_LENGTH'] устанавливается только тогда, когда метод HTTP-запроса - POST (не GET). Это исходное значение заголовка Content-Length , как указано в RFC 7230 .

В случае загрузки файлов, если вы хотите получить общий размер загруженных файлов , вы должны перебрать массив $ _ FILE , чтобы суммировать каждый $ файл. ['размер'] . Точный общий размер может не соответствовать необработанному значению Content-Length из-за накладных расходов на кодирование данных POST. (Также обратите внимание, что вы должны проверять наличие ошибок загрузки, используя код $ file ['error'] каждого элемента $ _ FILES , например UPLOAD_ERR_PARTIAL для частичных загрузок или UPLOAD_ERR_NO_FILE для пустых загрузок. См. Документацию по ошибкам загрузки файлов в руководстве по PHP.)

37
ответ дан 30 November 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: