glob

(PHP 4 >= 4.3.0, PHP 5)

glob -- 尋找與模式符合的檔案路徑

說明

array glob ( string pattern [, int flags] )

glob() 函數依照 libc glob() 函數使用的規則尋找所有與 pattern 符合的檔案路徑,類似於一般 shells 所用的規則一樣。不進行縮寫增加或參數替代。

返回一個包括有符合檔案/目錄的陣列。若果出錯返回 FALSE

有效旗標為:

  • GLOB_MARK - 在每個返回的項目中加一個斜線

  • GLOB_NOSORT - 按照檔案在目錄中出現的原始順序返回(不排序)

  • GLOB_NOCHECK - 若果沒有檔案符合則返回用於搜尋的模式

  • GLOB_NOESCAPE - 反斜線不轉義元字元

  • GLOB_BRACE - 擴充 {a,b,c} 來符合 'a','b' 或 'c'

  • GLOB_ONLYDIR - 僅返回與模式符合的目錄項

    注: 在 PHP 4.3.3 版本之前 GLOB_ONLYDIR 在 Windows 或是其它不使用 GNU C 庫的系統上不可用

  • GLOB_ERR - 停止並讀取錯誤訊息(比如說不可讀的目錄),預設的情況下忽略所有錯誤

    注: GLOB_ERR 是 PHP 5.1 增加的。

例子 1. 怎樣用 glob() 方便地替代 opendir() 和關聯函數

<?php
foreach (glob("*.txt") as $filename) {
    echo 
"$filename size " filesize($filename) . "\n";
}
?>

上例的輸出類似於:

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

注: 本函數不能作用於遠端檔案,被檢查的檔案必須通過伺服器的檔案系統訪問。

參見 opendir()readdir()closedir()fnmatch()