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() - 返回格式化的字符串
相關文章
相關標籤/搜索