Как определить, загрузил ли пользователь файл, размер которого превышает post_max_size?

Как мне правильно обрабатывать HTTP-загрузки, которые превышают post_max_size ?

В моей конфигурации post_max_size на несколько МБ больше, чем ] upload_max_filesize У меня следующие проблемы:
Если пользователь загружает файл, размер которого превышает post_max_size

  • , массив _POST пуст
  • Массив _FILES пуст, и, конечно же, в нем отсутствуют какие-либо коды ошибок.
  • Никакая другая информация о том, что это за форма, не доступна через эти средства.

Отчасти проблема заключается в том, что получающий скрипт выполняет разные действия в зависимости от содержимого POST.

У меня есть доступ к переменным _SERVER , и я могу узнать, что произошло, например CONTENT_TYPE , CONTENT_LENGTH и REQUEST_METHOD . Однако кажется очень проблематичным делать предположения на основе этого содержимого.

MEMORY_LIMIT (установлено в 10 раз больше соответствующих размеров) и Apache LimitRequestBody (установлено на unlimited) не виноваты.

В настоящее время мне сложно даже предоставить пользователю какие-либо значимые сообщения.

Есть ли способ сохранить некоторые данные формы, чтобы лучше понять, что пошло не так? Я очень не хочу уходить от php.

10
задан Captain Giraffe 31 May 2011 в 17:16
поделиться