array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.glob.php', 1 => 'glob', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'ファイルシステム 関数', ), 'prev' => array ( 0 => 'function.fwrite.php', 1 => 'fwrite', ), 'next' => array ( 0 => 'function.is-dir.php', 1 => 'is_dir', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/filesystem/functions/glob.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — パターンにマッチするパス名を探す
glob() 関数は libc の glob()
関数で使われるルールに基づいて
pattern
にマッチする全てのパス名を検索します。
ルールは、一般のシェルで使われるルールと似ています。
pattern
パターン。チルダの展開やパラメータ置換は行いません。
Special characters:
*
- ゼロ文字以上の文字にマッチします。
?
- 正確に(任意の)一文字にだけマッチします。
[...]
- グループ化された文字のうち、一文字にマッチします。
はじめの文字が !
だった場合、
グループにないあらゆる文字にマッチします。
\
- 次に来る文字をエスケープします。
但し、GLOB_NOESCAPE
が使われている場合は除きます。
flags
有効なフラグは次のとおりです。
GLOB_BRACE
(int)
注意:
GLOB_BRACE
は GNU システムでないシステムによっては使えない場合があります。 使えないシステムの例として、Solaris や Alpine Linux があてはまります。
GLOB_ERR
(int)
GLOB_ONLYDIR
(int)
GLOB_MARK
(int)
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 など)。