= 4.3.0, PHP 5, PHP 7, PHP 8)glob — 尋找與模式匹配的文件路徑說明glob(string $pattern, int $flags = 0): array|falseglob() 函數(shù)依照 libc glob() 函數(shù)使用的規(guī)則尋找所有與 p">
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — 尋找與模式匹配的文件路徑
$pattern
, int $flags
= 0): array|false
glob() 函數(shù)依照 libc glob() 函數(shù)使用的規(guī)則尋找所有與
pattern
匹配的文件路徑,類似于一般 shells
所用的規(guī)則一樣。
pattern
匹配模式(pattern)。 不進行縮寫擴展或參數(shù)替代。
特殊字符:
*
- 匹配零個或多個字符。
?
- 只匹配單個字符(任意字符)。
[...]
- 匹配一組字符中的一個字符。
如果第一個字符是 !
,則為否定模式,
即匹配不在這組字符中的任意字符。
\
- 只要沒有使用 GLOB_NOESCAPE
標記,該字符會轉(zhuǎn)義后面的字符。
flags
有效標記有:
GLOB_MARK
- 在每個返回的項目中加一個斜線
GLOB_NOSORT
- 按照文件在目錄中出現(xiàn)的原始順序返回(不排序)
GLOB_NOCHECK
- 如果沒有文件匹配則返回用于搜索的模式
GLOB_NOESCAPE
- 反斜線不轉(zhuǎn)義元字符
GLOB_BRACE
- 擴充 {a,b,c} 來匹配 'a','b' 或 'c'
GLOB_ONLYDIR
- 僅返回與模式匹配的目錄項
GLOB_ERR
- 停止并讀取錯誤信息(比如說不可讀的目錄),默認的情況下忽略所有錯誤
注意:
GLOB_BRACE
在一些非 GNU 系統(tǒng)上無效,比如 Solaris 和 Alpine Linux 。
返回包含有匹配文件和目錄的數(shù)組,沒有匹配文件時返回空數(shù)組,出錯返回 false
。
注意:
在個別操作系統(tǒng)上,無法區(qū)分是否為空匹配或錯誤。
示例 #1 怎樣用 glob() 方便地替代 opendir() 和相關(guān)函數(shù)
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
以上例程的輸出類似于:
funclist.txt size 44686 funcsummary.txt size 267625 quickref.txt size 137820
注意: 此函數(shù)不能作用于遠程文件,被檢查的文件必須是可通過服務(wù)器的文件系統(tǒng)訪問的。
注意: 此函數(shù)在一些系統(tǒng)上還不能工作(例如一些舊的 Sun OS)。