Задать вопрос

Почему ajax при загрузке больших файлов ничего не передает?

Есть форма загрузки файла (метод post) на сервер через ajax (мы добавляем в обзоре файл, пишем его новое имя и жмём "загрузить") При небольших файлах php скрипт ловит файл и записывает как нужно, а когда я гружу файлы больше 40 мб (может даже еще меньше порог для ошибки), то php скрипт в итоге не ловит ничего, а var_dump($_REQUEST); показывает array(0){}

В чем проблема? Есть какие то ограничения на загрузку больших файлов? Сервер свой (не хостинг)
  • Вопрос задан
  • 217 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
dimqakolyada
@dimqakolyada
Telegram бот @kodi_robot ответит на любой вопрос!
Возможно, Web сервер не пускает запрос с файлом из-за его размера. Напрмер, в nginx есть настройка 1
client_max_body_size 20M; для указания максимального размера файла
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
В PHP есть параметр post_max_size, который контролирует размер данных, принимаемых через POST.
Попробуйте ini_set("post_max_size", "100M"); в самом начале скрипта, который обрабатывает этот AJAX-запрос.
Но скорее всего нужно менять конфигурацию в php.ini, или прописывать .htaccess для конкретной директории, потому что ini_set() будет срабатывать после факта передачи файла, когда уже поздняк метаться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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