GlobIterator::__construct

glob を使うディレクトリを作成する

説明

public GlobIterator::__construct(string $pattern, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)

glob 式から新しいディレクトリイテレータを作成します。

パラメータ

pattern

glob 関数に渡すパターン

flags

オプションのフラグ。 FilesystemIterator 定数のビットマスクとなります。

エラー / 例外

directory が存在しない場合に UnexpectedValueException をスローします。

directory が空文字列の場合に ValueError をスローします。

変更履歴

バージョン 説明
8.0.0 directory が空文字列の場合に ValueError をスローするようになりました。 これより前のバージョンでは、 RuntimeException をスローしていました。

例1 GlobIterator の例

<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);

if (!$iterator->count()) {
    echo 'No matches';
} else {
    $n = 0;

    printf("Matched %d item(s)\r\n", $iterator->count());

    foreach ($iterator as $item) {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>

上の例の出力は、 たとえば以下のようになります。

Matched 2 item(s)
[1] php5ts.dll
[2] php_gd2.dll

参考

  • DirectoryIterator::__construct
  • GlobIterator::count
  • glob