Не разрешать> 2mb изображения

ЗДРАВСТВУЙ! Как проверить, пытаются ли пользователи загружать файлы размером более 2 МБ? Я хотел бы это отрицать и выдать сообщение об ошибке пользователю, который пытается это сделать.

Я знаю, что это что-то вроде этого, но что я должен изменить 50000, чтобы стать 2mb?

if ($_FILES['imagefile']['size'] > 50000 ) { die ("ERROR: Large File Size"); } 

2 МБ – 2097152 байт.

Измените 50000 на 2097152, и вы настроены.

5000 – это количество байтов, поэтому вам просто нужно конвертировать 2 МБ в байты. 1 МБ – 1024 килобайта, а 1024 байта – 1 килобайт. Выполняя математику, получаем:

2 мегабайта = 2 097 152 байта

В принципе, вы можете рассчитать это в кодовой форме

 $maxFileSize = $MB_limit * 1024 * 1024; 

И проверьте, что размер файла не превышает $ maxFileSize.

Предполагая, что у вас есть поле файла в форме, называемое «upload», вы можете проверить размер файла следующим образом:

if ($_FILES['upload']['size'] > $max_upload_size) { echo "File too big"; }

Где $ max_upload_size – это максимальный размер, который вы хотите разрешить (очевидно, вы захотите заменить оператор echo более полезным сообщением об ошибке).

Вы также можете использовать параметр upload_max_filesize в файле php.ini, но это заставит ваших пользователей видеть ошибку PHP, если они превышают этот предел, а не ваше пользовательское сообщение об ошибке.