fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fnmatchПроверяет совпадение имени файла с шаблоном

Описание

fnmatch ( string $pattern , string $string [, int $flags = 0 ] ) : bool

fnmatch() проверяет, совпадает ли переданный параметр string с указанным шаблоном подстановок оболочки pattern.

Список параметров

pattern

Шаблон подстановки оболочки операционной системы.

string

Проверяемая строка. Данная функция особенно полезна для имен файлов, но также может быть использована с обычными строками.

Среднестатистический пользователь знаком с подстановками оболочки, как минимум с самыми простыми из них - '?' и '*', так что использование fnmatch() вместо preg_match() для поиска в пользовательской части сайта может быть намного удобнее для пользователей, не являющихся программистами.

flags

Значением параметра flags может быть любая комбинация следующих флагов, объединенных с помощью бинарного оператора ИЛИ (|).

Перечень возможных флагов для функции fnmatch()
Флаг Описание
FNM_NOESCAPE Отключить экранирование обратных слешей.
FNM_PATHNAME Слеш в строке совпадает только со слешем в указанном шаблоне.
FNM_PERIOD Ведущая точка в строке должна точно совпадать с точкой в указанном шаблоне.
FNM_CASEFOLD Совпадение без учета регистра. Является частью расширения GNU.

Возвращаемые значения

При совпадении возвращает TRUE, иначе возвращает FALSE.

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

Версия Описание
5.3.0 Данная функция стала доступной на платформе Windows.

Примеры

Пример #1 Проверяет соответствие цвета шаблону подстановки

<?php
if (fnmatch("*gr[ae]y"$color)) {
  echo 
"какая-то форма серого цвета ...";
}
?>

Примечания

Внимание

На данный момент эта функция недоступна на POSIX-несовместимых системах, исключая Windows.

Смотрите также

  • glob() - Находит файловые пути, совпадающие с шаблоном
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку