fnmatch

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

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

Описание

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

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

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

pattern

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

filename

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

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

flags

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

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

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

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

Примеры

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

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

Примечания

Внимание

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

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

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