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。
  • 参数

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

    匹配则返回 TRUE,否则返回 FALSE。
  • 示例

    <?php
    if (fnmatch("*gr[ae]y", $color)) {
     echo "some form of gray ...";
    }
    ?>
    
    尝试一下
  • 相关函数

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