Если форма не загружает файл большого размера без явного сообщения об ошибке, вероятная причина — превышение лимита размера на одном из серверных уровней, а не проблема самой формы.
Лимиты PHP по умолчанию скромные
Настройки upload_max_filesize и post_max_size в php.ini на многих хостингах установлены в 2–8 МБ по умолчанию — этого может не хватать для сканов документов высокого разрешения или многостраничных PDF.
Таймаут на медленном соединении
Даже при достаточном лимите размера, на медленном мобильном интернете загрузка большого файла может не уложиться в разрешённое время ожидания запроса — без индикатора прогресса пользователь не понимает, зависла форма или просто долго грузит.
Решение
Увеличьте лимиты на уровне сервера при необходимости, добавьте понятную полосу прогресса загрузки, и явно указывайте посетителю ограничение по размеру файла заранее, до попытки загрузки, а не после неудачи.



