(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
fnmatch — 用模式匹配文件名
$pattern, string $string, int $flags = 0): bool
   fnmatch()
   检查传入的
   string
   是否匹配给出的 shell 统配符
   pattern。
  
patternshell 统配符。
string要检查的字符串。 此函数对于文件名尤其有用,但也可以用于普通的字符串。
       普通用户可能习惯于
   shell 模式或者至少其中最简单的形式
   '?' 和 '*'
   通配符,因此使用
   fnmatch()
   来代替 
   preg_match()
   来进行前端搜索表达式输入对于非程序员用户更加方便。
      
flags
       The value of flags can be any combination of 
       the following flags, joined with the
       binary OR (|) operator.
       
| Flag | Description | 
|---|---|
| FNM_NOESCAPE | Disable backslash escaping. | 
| FNM_PATHNAME | Slash in string only matches slash in the given pattern. | 
| FNM_PERIOD | Leading period in string must be exactly matched by period in the given pattern. | 
| FNM_CASEFOLD | Caseless match. Part of the GNU extension. | 
   匹配则返回 true,否则返回 false。
  
| 版本 | 说明 | 
|---|---|
| 5.3.0 | 此函数开始在 Windows 平台上生效。 | 
示例 #1 用 shell 中的通配符模式匹配来检查颜色名称
<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}
?>
目前该函数无法在 Windows 或其它非 POSIX 兼容的系统上使用。