(PHP 4 >= 4.3.0, PHP 5)
glob — パターンにマッチするパス名を探す
説明
array
glob ( string pattern [, int flags] )
glob() 関数は glibc の glob()
関数で使われるルールに基づいて
pattern にマッチする全てのパス名を検索します。
ルールは、一般のシェルで使われるルールと似ています。
チルダの展開やパラメータ置換は行われません。
マッチするファイル/ディレクトリを含む配列を返します。
マッチするファイルがなかった場合には空の配列、
そして失敗した場合には
FALSE を返します。
有効なflag:
-
GLOB_MARK - 各戻り値にスラッシュを追加します
-
GLOB_NOSORT - ディレクトリに存在するファイルを返します
(ソートはされません)
-
GLOB_NOCHECK - 検索パターンにマッチするファイルが
見つからない場合に検索パターン自身を返す
-
GLOB_NOESCAPE - バックスラッシュによってメタ文字をクォートしません
-
GLOB_BRACE - Expands {a,b,c} を一致する「a」「b」「c」に展開します
注意:
このフラグは、GNU システム以外では使用できないこともあります。
たとえば Solaris では使用できません。
-
GLOB_ONLYDIR - パターンにマッチするディレクトリのみを返します
注意:
PHP 4.3.3 以前では、GLOB_ONLYDIR は
Windows や GNU C ライブラリを使用しない他のシステムでは利用
できませんでした 。
-
GLOB_ERR - (ディレクトリが読めないなどの)
読み込みエラー時に停止します。デフォルトではエラーは無視されます。
PHP 5.1.0 で追加されました。
例 615.
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
注意: この関数では、
リモートファイル を
使用することはできません。これは、処理されるファイルがサーバの
ファイルシステムによりアクセスできる必要があるためです。
注意:
この関数が使用できないシステムも存在します (例: 昔の Sun OS など)。
opendir(),
readdir(),
closedir(),
fnmatch()
も参照してください。