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
(рядок) (обов’язковий)
Шлях до файлу, що перевіряється.

Приклади

0

#1 Перевіримо, чи є файли зображенням

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

$ path = 'F:serversiteswp-test.ruwp-adminimagesalign-center.png';
$is_image = file_is_displayable_image( $path ); //> true

$path = 'F:serversiteswp-test.ruwp-admincsscommon.css';
$is_image = file_is_displayable_image( $path ); //> false

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

список змін

З версії 2.5.0Введено.

Код file_is_displayable_image() WP 6.0.2

function file_is_displayable_image( $path ) {
	$displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP, IMAGETYPE_ICO, IMAGETYPE_WEBP );

	$ info = wp_getimagesize ($ path);
	if ( empty( $info ) ) {
		$result = false;
	} elseif ( ! in_array( $info[2], $displayable_image_types, true ) ) {
		$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 );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *