ЗДРАВСТВУЙ! Как проверить, пытаются ли пользователи загружать файлы размером более 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, если они превышают этот предел, а не ваше пользовательское сообщение об ошибке.