PHP ПРОВЕРКА ЗАГРУЖАЕМОГО ФАЙЛА
При загрузке файлов на сервер через PHP крайне важно проверять их на безопасность. Для этого можно использовать несколько способов. Первый способ - проверка расширения файла. Например, мы хотим разрешить загрузку только изображений. Тогда можно сделать следующее:
$file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));$allowed_ext = array("jpg", "jpeg", "png", "gif");if(in_array($file_ext, $allowed_ext)){ // Разрешаем загрузку файла} else { // Отказываем в загрузке}
Второй способ - проверка MIME-типа файла. Этот способ более надежный, так как расширение может быть изменено. Пример:$file_mime = mime_content_type($file_tmp_name);$allowed_mime = array("image/jpeg", "image/png", "image/gif");if(in_array($file_mime, $allowed_mime)){ // Разрешаем загрузку} else { // Отказываем в загрузке}
Третий способ - проверка размера файла. Если размер файла превышает заданное значение, то отказываем в загрузке:$max_size = 10 * 1024 * 1024; // 10 МБif($file_size <= $max_size){ // Разрешаем загрузку} else { // Отказываем в загрузке}
Используя эти три способа можно обеспечить надежную проверку загружаемых файлов на сервер через PHP.
PHP - как увеличить максимальный размер загружаемого файла? Пример для Debian
Определение размера файла на PHP
Ошибка: Загруженный файл превышает директиву upload_max_filesize в ruphp.com
Проверка существования файла на PHP
Загрузка файла на сервер и обработка на PHP (Часть-2) - Базовый курс PHP-7
Работа с файлами. Практический PHP
Загрузка файла через форму на html сайте + стилизация под любой дизайн
Проверка существования файла php.
PHP - загрузка одного или нескольких файлов
Чтение файла на PHP с помощью функции file get contents