PHP
文件系统 | File System

fnmatch

fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fnmatch - 将文件名与模式匹配

描述

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

fnmatch()检查传递string是否匹配给定的shell通配符pattern

参数

pattern

shell通配符模式。

string

被测试的字符串。此功能对文件名特别有用,但也可用于常规字符串。

普通用户可以用来模式化,或者至少用最简单的形式来''' '*'通配符,所以对于非编程用户来说,使用fnmatch()而不是preg_match()作为前端搜索表达式输入可能会更方便。

flags

flags可以是以下标志的任意组合,并用二进制OR(|)运算符连接。

标志描述
FNM_NOESCAPE禁用反斜杠转义。
FNM_PATHNAME斜杠字符串只匹配给定模式中的斜线。
FNM_PERIOD字符串中的前导段必须与给定模式中的句点完全匹配。
FNM_CASEFOLD无情的比赛。GNU扩展的一部分。

返回值

TRUE如果匹配FALSE则返回,否则返回。

更新日志

描述
5.3.0此功能现在可在Windows平台上使用。

例子

示例#1针对shell通配符模式检查颜色名称

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

注意

警告

目前,除了Windows以外,该功能在非POSIX兼容系统上不可用。