PHP マニュアル
前のページ |  | 次のページ

# glob

(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 で追加されました。

例 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() も参照してください。

前のページ | ホーム | 次のページ
fwrite | 上に戻る | is_dir