fnmatch
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
fnmatch — Проверяет совпадение имени файла с шаблоном
Описание
$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() - Возвращает отформатированную строку