説明
arrayfalse glob(string $pattern
, int $flags
= 0)
パラメータ
-
pattern
-
パターン。チルダの展開やパラメータ置換は行いません。
Special characters:
-
*
- ゼロ文字以上の文字にマッチします。
-
?
- 正確に(任意の)一文字にだけマッチします。
-
[...]
- グループ化された文字のうち、一文字にマッチします。
はじめの文字が !
だった場合、
グループにないあらゆる文字にマッチします。
-
\
- 次に来る文字をエスケープします。
但し、GLOB_NOESCAPE
が使われている場合は除きます。
-
flags
-
有効なフラグは次のとおりです。
-
GLOB_BRACE
(int)
-
{a,b,c} を 'a', 'b', 'c' にマッチさせるように展開します。
注意:
GLOB_BRACE
は GNU システムでないシステムによっては使えない場合があります。
使えないシステムの例として、Solaris や Alpine Linux があてはまります。
-
GLOB_ERR
(int)
-
(ディレクトリが読み取れない場合のような) 読み取りエラーの場合に停止します。
デフォルトでは、エラーは無視されます。
-
GLOB_ONLYDIR
(int)
-
パターンにマッチするディレクトリエントリのみを返します。
-
GLOB_MARK
(int)
-
スラッシュ(Windows の場合はバックスラッシュ)
を返されるディレクトリに個別に追加します。
-
GLOB_NOSORT
(int)
-
ディレクトリ内に存在するかのように、ファイルを返します(ソートは行いません)。
このフラグを使わない場合、パス名はアルファベット順でソートされます。
-
GLOB_NOCHECK
(int)
-
マッチするファイルが見つからない場合に、検索パターンを返します。
-
GLOB_NOESCAPE
(int)
-
バックスラッシュは、メタキャラクタをクォートしません。
-
GLOB_AVAILABLE_FLAGS
(int)
-
すべての
GLOB_*
フラグの組み合わせです。
0
| GLOB_BRACE
|
GLOB_MARK
| GLOB_NOSORT
|
GLOB_NOCHECK
| GLOB_NOESCAPE
|
GLOB_ERR
| GLOB_ONLYDIR
と等しくなります。
戻り値
マッチするファイル/ディレクトリを含む配列を返します。
マッチするファイルがなかった場合には空の配列、
そして失敗した場合には false
を返します。
注意:
システムによっては、何もマッチしなかった場合とエラーが発生した場合を区別できないものもあります。
例
例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
注意
注意: この関数では、
リモートファイル を
使用することはできません。これは、処理されるファイルがサーバーの
ファイルシステムによりアクセスできる必要があるためです。
注意:
この関数が使用できないシステムも存在します (例: 昔の Sun OS など)。
参考
- opendir
- readdir
- closedir
- fnmatch