_wp_check_existing_file_names()WP 5.3.1

Helper function to check if a file name could match an existing image sub-size file name.

Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.

Хуков нет.

Возвращает

true|false. True if the tested file name could match an existing file, false otherwise.

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

_wp_check_existing_file_names( $filename, $files );
$filename(строка) (обязательный)
The file name to check.
$files(массив) (обязательный)
An array of existing files in the directory.

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

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

Код _wp_check_existing_file_names() WP 6.5.2

function _wp_check_existing_file_names( $filename, $files ) {
	$fname = pathinfo( $filename, PATHINFO_FILENAME );
	$ext   = pathinfo( $filename, PATHINFO_EXTENSION );

	// Edge case, file names like `.ext`.
	if ( empty( $fname ) ) {
		return false;
	}

	if ( $ext ) {
		$ext = ".$ext";
	}

	$regex = '/^' . preg_quote( $fname ) . '-(?:\d+x\d+|scaled|rotated)' . preg_quote( $ext ) . '$/i';

	foreach ( $files as $file ) {
		if ( preg_match( $regex, $file ) ) {
			return true;
		}
	}

	return false;
}