Невозможно остановить это со стороны сервера - файл все равно будет загружен, прежде чем PHP решит, отклонить ли его. Вам нужно добавить это обнаружение на стороне клиента. Хотя вы не можете сделать это с помощью обычной HTML-формы, загрузчики флэш-памяти могут определить размер файла до начала загрузки.
На стороне сервера вы ничего не можете сделать с PHP - файлы всегда были полностью загружены, прежде чем у PHP появится возможность сказать «нет». Чтобы заблокировать загрузку (то есть отключить клиентскую часть через POST), вам понадобится немного волшебства веб-сервера вниз по стеку. Perlbal способен сделать это. Написание собственного модуля Apache - это решение (грубой силы). Использование любого облегченного прокси-сервера перед вашим основным веб-сервером - это решение, если вы беспокоитесь о больших загрузках, связывающих ресурсы веб-сервера.
Это действительно зависит , почему вы хотите ограничить большие загрузки. Чтобы сэкономить время пользователей, просто добавьте сообщения, в которых указан максимальный размер файла. Если это ресурсы сервера, используйте облегченный прокси перед сервером. Если это что-то еще, ну, что это?