PHP: какова общая длина глобальной переменной post?

Мне было интересно, знает ли кто-нибудь об общей длине, которая могла бы быть глобальной почтой. например:

$_POST['formInput'] = "hello world, how long can i be?";

Я создаю сайт, где кто-то вводит неизвестное количество символов в текстовое поле, поэтому потенциально это может быть 2 страницы в текстовом документе. Итак, если кто-нибудь знает какие-либо другие методы, как я могу это сделать, кроме использования почтового глобального? (он не может быть сохранен в файле, как его важные данные, которые я не хочу, чтобы другие люди находили). Это было бы очень полезно.

Спасибо

Ответы

Ответ 1

Проверьте свой php.ini на post_max_size. Обычно это примерно 8 Мбайт по умолчанию, но если вы используете общий хостинг, он может определенно отличаться.

; Maximum size of POST data that PHP will accept.
post_max_size = 8M

Вам нужно будет использовать $_POST, если вы хотите отправить большие объемы данных на сервер. Для дальнейшего изучения я предлагаю проверить POST Method Uploads в документации.

Ответ 2

$_POST заполняется из тела HTTP-запроса. Поскольку ограничений по размеру HTTP-запроса нет, на уровне протокола нет ограничений. Однако PHP имеет некоторые ограничения на количество ввода, которое он будет читать. Вы можете управлять этим с помощью ini-setting post_max_size

Ответ 3

Другой проблемой может быть предел по умолчанию в php.ini для директивы max_input_vars (по умолчанию 1000), а не только post_max_size. Если у вас есть, например, очень большая форма с тысячами флажков, массив $_POST будет иметь только 1000 ключей.

Ответ 4

Если вы хотите получить большой объем данных, отправленных из браузера на сервер, вам нужно будет использовать метод HTTP POST, что означает, что данные будут получены на стороне PHP в супергелобале $_POST; вы не можете с этим поделать.

Директива конфигурации post_max_size определяет максимальный объем данных, которые могут быть получены с использованием метода POST - вам может потребоваться установить что до значения, превышающего значение по умолчанию, в зависимости от ваших потребностей.

И, как сказано в документации post_max_size, значение, установленное для memory_limit, также может иметь значение.