(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
fnmatch — Проверяет совпадение имени файла с шаблоном
$pattern
, string $filename
, int $flags
= 0): bool
fnmatch() проверяет, совпадает ли переданный параметр
filename
с указанным шаблоном подстановок оболочки
pattern
.
pattern
Шаблон подстановки оболочки операционной системы.
filename
Проверяемая строка. Данная функция особенно полезна для имён файлов, но также может быть использована с обычными строками.
Среднестатистический пользователь знаком с подстановками
оболочки, как минимум с самыми простыми из них -
'?'
и '*'
,
так что использование fnmatch() вместо
preg_match() для поиска в пользовательской
части сайта может быть намного удобнее для пользователей,
не являющихся программистами.
flags
Значением параметра flags
может быть
любая комбинация следующих флагов, объединённых с помощью
бинарного оператора
ИЛИ (|).
Флаг |
Описание |
---|---|
FNM_NOESCAPE |
Отключить экранирование обратных слешей. |
FNM_PATHNAME |
Слеш в строке совпадает только со слешем в указанном шаблоне. |
FNM_PERIOD |
Ведущая точка в строке должна точно совпадать с точкой в указанном шаблоне. |
FNM_CASEFOLD |
Совпадение без учёта регистра. Является частью расширения GNU. |
При совпадении возвращает true
, иначе возвращает false
.
Пример #1 Проверяет соответствие цвета шаблону подстановки
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "какая-то форма серого цвета ...";
}
?>
На данный момент эта функция недоступна на POSIX-несовместимых системах, исключая Windows.