Я бы рекомендовал использовать функции filesize и exif_imagetype для оценки файла. Следующее должно указать вам в правильном направлении:
$up_file = "file_the_user_uploaded";
$two_mb = 2097152;
if (filesize($up_file) < $two_mb) {
if (exif_imagetype($up_file) > 0 && exif_imagetype($up_file) < 4) {
// the file is .gif, .jpg, or .png and less than 2MB
// do something to approve the file upload
}
}
Обратите внимание, что функция filesize()
в PHP возвращает размер в байтах, таким образом, файл должен быть меньше $two_mb
байтов. Кроме того, exif_imagetype()
возвращает целочисленное сопоставление кода типу MIME загруженного изображения: 1, 2, 3, то есть .gif
, .jpg
и .png
соответственно.