Как корректно обработать файлы, которые превышают 'post_max_size' PHP?

Я работаю над формой PHP, которая присоединяет файл к электронному письму, и пытающийся корректно обработать случаи, где загруженный файл является слишком большим.

Я узнал, что существует две настройки в php.ini то влияние maxiumum размер загрузки файла: upload_max_filesize и post_max_size.

Если размер файла превышает upload_max_filesize, PHP возвращает размер файла как 0. Это прекрасно; я могу проверить на это.

Но если это превышает post_max_size, мой сценарий перестал работать тихо и возвращается к незаполненному бланку.

Там какой-либо путь состоит в том, чтобы зафиксировать эту ошибку?

84
задан Benjamin 1 October 2019 в 07:51
поделиться

1 ответ

из Документация :

Если размер почтовых данных больше чем post_max_size, $ _ post и Суперглобалы $ _Files пусты . Этот можно отслеживать различными способами, например Передача переменную $ _get Сценарий обработки данных, то есть

, а также Затем проверяйте, $ _гет [«обработано»] набор.

Так что к сожалению, это не похоже на PHP отправляет ошибку. И поскольку он отправляет AM пустой массив $ _POST, именно поэтому ваш сценарий возвращается в пустую форму - не думает, что это пост. (Довольно плохое проектное решение ИМХО)

Этот комментатор также имеет интересную идею.

кажется, что более элегантный способ Сравнение между post_max_size и $ _Server ['content_length']. Пожалуйста Обратите внимание, что последний включает не только Размер загруженного файла Plus Post Data Но также многократные последовательности.

54
ответ дан 24 November 2019 в 08:38
поделиться
Другие вопросы по тегам:

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