PHP fnmatch 文件系统函数

定义和用法

fnmatch - 用模式匹配文件名
目前该函数没法在 Windows 或其它非 POSIX 兼容的系统上使用。

版本支持

PHP4 PHP5 PHP7
4.3.0(含)+支持 支持 支持
5.3.0 此函数开始在 Windows 平台上生效。

语法

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

fnmatch() 检查传入的 string 是否匹配给出的 shell 统配符 pattern。php

参数

参数 必需的 描述
pattern shell 通配符。
string 要检查的字符串。 此函数对于文件名尤为有用,但也能够用于普通的字符串。 普通用户可能习惯于 shell 模式或者至少其中最简单的形式 '?' 和 '*' 通配符,所以使用 fnmatch() 来代替 preg_match() 来进行前端搜索表达式输入对于非程序员用户更加方便。
flags flage 的值能够是如下标志的任何组合,并与二进制OR(|)运算符结合在一块儿。
  • FNM_NOESCAPE - 禁用反斜杠转义。
  • FNM_PATHNAME - 字符串中的斜杠仅匹配给定模式中的斜杠。
  • FNM_PERIOD - 字符串中的前导期间必须与给定模式中的期间精确匹配。
  • FNM_CASEFOLD - 最小匹配。 GNU扩展的一部分。

 

返回值

匹配则返回 TRUE,不然返回 FALSE。

示例

if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}

相关函数

glob() - 寻找与模式匹配的文件路径
preg_match() - 执行匹配正则表达式
sscanf() - 根据指定格式解析输入的字符
printf() - 输出格式化字符串
sprintf() - 返回格式化的字符串
相关文章
相关标签/搜索