WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси

file_is_displayable_image() WP 2.5.0

Проверяет является ли файл изображением (подходит ли он для показа на странице). Условный тег.

Функцию часто используют как условный тег при работе с изображениями.

Когда нужно определить, является ли файл из медиабиблиотеки изображением, используйте wp_attachment_is_image().

Часто нужно подключить файл image.php, в котором определена описываемая функция:

require_once ABSPATH . 'wp-admin/includes/image.php';

По умолчанию этот файл подключается после хука wp_loaded, при выводе контента в админке.

Работает на основе php функции getimagesize().

✈ 1 раз = 0.000001с = скорость света | 50000 раз = 0.42с = очень быстро | PHP 7.2.16, WP 5.1.1
Хуки из функции
Возвращает

true/false. True - подходит для отображения, false - не подходит.

Функция вернёт true для следующих расширений: .gif, .jpeg, .png, .bmp, .ico.

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

file_is_displayable_image( $path );
$path(строка) (обязательный)
Путь к проверяемому файлу.

Примеры

#1 Проверим, являются ли файлы изображением

require_once ABSPATH . 'wp-admin/includes/image.php';

$path     = 'F:\server\sites\wp-test.ru\wp-admin\images\align-center.png';
$is_image = file_is_displayable_image( $path ); //> true

$path     = 'F:\server\sites\wp-test.ru\wp-admin\css\common.css';
$is_image = file_is_displayable_image( $path ); //> false

if ( $is_image ) {
	echo 'Файл является изображением';
}
else {
	echo 'Файл не является изображением';
}

Список изменений

С версии 2.5.0 Введена.

Код file is displayable image: wp-admin/includes/image.php WP 5.2.2

<?php
function file_is_displayable_image( $path ) {
	$displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP );

	// IMAGETYPE_ICO is only defined in PHP 5.3+.
	if ( defined( 'IMAGETYPE_ICO' ) ) {
		$displayable_image_types[] = IMAGETYPE_ICO;
	}

	$info = @getimagesize( $path );
	if ( empty( $info ) ) {
		$result = false;
	} elseif ( ! in_array( $info[2], $displayable_image_types ) ) {
		$result = false;
	} else {
		$result = true;
	}

	/**
	 * Filters whether the current image is displayable in the browser.
	 *
	 * @since 2.5.0
	 *
	 * @param bool   $result Whether the image can be displayed. Default true.
	 * @param string $path   Path to the image.
	 */
	return apply_filters( 'file_is_displayable_image', $result, $path );
}

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

Из метки: Данные файлов (files data get info)

Еще из метки: image (не функции миниатюр)

Еще из раздела: Картинки

campusboy 3411youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7539
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться