Описание функции wp_check_filetype()
Функция wp_check_filetype() проверяет тип файла на основе его расширения и возвращает информацию о MIME-типе. Она используется для валидации загружаемых файлов и определения их типа для правильной обработки.
Функция полезна при загрузке медиафайлов, а также в плагинах и темах для обеспечения безопасности и корректной работы с файлами.
Параметры
$filename
Тип: string
Обязательный: Да
Описание: Имя файла или полный путь к файлу для проверки
Возможные значения:
пример: example.jpg
$mimes
Тип: array
Обязательный: Нет
По умолчанию: false
Описание: Ассоциативный массив MIME-типов для проверки
Возможные значения:
jpg: image/jpeg
png: image/png
gif: image/gif
Возвращаемое значение
Тип: array|false
Описание: Ассоциативный массив с данными о типе файла или false в случае ошибки
Возможные значения:
• Массив с ключами ‘ext’, ‘type’ и ‘proper_filename’
• false, если тип файла не распознан
Примеры использования
Простой пример проверки типа файла
$file_info = wp_check_filetype('example.jpg');
// $file_info['ext'] будет 'jpg'
// $file_info['type'] будет 'image/jpeg'
Подходит для проверки загружаемых файлов
Проверка файла с пользовательскими MIME-типами
$mimes = array(
'pdf' => 'application/pdf',
'doc' => 'application/msword'
);
$file_info = wp_check_filetype('document.pdf', $mimes);
Расширяет возможности проверки типов файлов
Пример обработки ошибки при некорректном файле
$file_info = wp_check_filetype('unknownfile.xyz');
if (!$file_info) {
echo 'Тип файла не распознан';
}
Предотвращает работу с неподдерживаемыми форматами
Проверка загружаемого файла в плагине
$uploaded_file = $_FILES['upload'];
$file_info = wp_check_filetype($uploaded_file['name']);
if (!$file_info) {
return 'Ошибка: неподдерживаемый тип файла';
}
Обеспечивает безопасность загрузки
Безопасность
Валидация входных данных: Функция проверяет входные данные на корректность
Санитизация: Входные данные автоматически очищаются
Рекомендации: Используйте wp_check_filetype() перед обработкой загружаемых файлов для предотвращения уязвимостей
— Связанные функции
Обрабатывает загрузку файла и проверяет его тип
Получает размер изображения и его тип
— Примечания
– Ограничения
Не обрабатывает файлы без расширений
– Частые проблемы
- Некорректные расширения могут вернуть false
- Некоторые типы файлов могут быть не поддержаны