WordPress как на ладони
wordpress jino

wp_check_filetype() WP 2.0.4

Получает расширение и MIME тип файла по переданному имени (пути) файла. Используется для проверки разрешен ли указанный файл на сайте.

Во втором параметре можно указать разрешенные типы файлов. По умолчанию они получаются функцией get_allowed_mime_types().

Хуков нет.

Возвращает

Массив. Данные о типе файла:

['ext'] - расширение (пр. 'jpg')
['type'] - mime тип (пр 'image/jpeg')

Если тип файла не разрешен, то каждый элемент массива будет содержать false.

Использование

wp_check_filetype( $filename, $mimes )
$filename(строка) (обязательный)
Абсолютный путь к файлу: www/site.ru/wp-content/uploads/file.png
$mimes(массив)
Массив названий разрешенных расширений и типов файлов. По умолчанию значения функции get_allowed_mime_types().
По умолчанию: null

Примеры

#1 Демонстрация работы функции

$filetype = wp_check_filetype( dirname(__FILE__) . '/image.jpg' );

echo $filetype['ext'];  // выведет: jpg
echo $filetype['type']; // выведет: image/jpeg

#2 Проверим разрешен ли файл на сайте

Для проверки получим данные файла:

$filetype = wp_check_filetype('image.jpg');
if( $filetype['ext'] )
	echo 'Файл с расширением '. $filetype['ext'] .' разрешен';
else
	echo 'Файл с расширением '. $filetype['ext'] .' запрещен';

#3 Указание разрешенных типов файлов и проверка

Укажем разрешенные типы файлов в массиве и проверим файл:

$mimes = array(
	'gif'   =>  'image/gif',
	'png'   =>  'image/png',
	'jpg|jpeg|jpe' => 'image/jpeg'
);
$file = 'image.bmp';

$filetype = wp_check_filetype( $file, $mimes );
if( $filetype['ext'] )
	echo 'разрешен';
else
	echo 'запрещен';

Код wp check filetype: wp-includes/functions.php WP 4.8.2

<?php
function wp_check_filetype( $filename, $mimes = null ) {
	if ( empty($mimes) )
		$mimes = get_allowed_mime_types();
	$type = false;
	$ext = false;

	foreach ( $mimes as $ext_preg => $mime_match ) {
		$ext_preg = '!\.(' . $ext_preg . ')$!i';
		if ( preg_match( $ext_preg, $filename, $ext_matches ) ) {
			$type = $mime_match;
			$ext = $ext_matches[1];
			break;
		}
	}

	return compact( 'ext', 'type' );
}

Cвязанные функции

Из раздела: Редко используемые

wp_check_filetype Комментариев нет

Здравствуйте, !

Ваш комментарий