RecursiveDirectoryIterator を作成する

# RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7)

RecursiveDirectoryIterator::__construct — RecursiveDirectoryIterator を作成する

### 説明

public RecursiveDirectoryIterator::__construct ( string `$path` [, int `$flags` = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

指定したパス `path` の RecursiveDirectoryIterator() を作成します。

### パラメータ

`path`

  反復処理の対象となるディレクトリのパス。

`flags`

  フラグを指定して、いくつかのメソッドの振る舞いを変更することができます。 フラグの一覧は FilesystemIterator の定義済み定数 にあります。フラグは、あとから FilesystemIterator::setFlags() で設定することもできます。

### 返り値

新しく作成した RecursiveDirectoryIterator を返します。

### エラー / 例外

`path` が見つからない、あるいはディレクトリでない場合に UnexpectedValueException をスローします。

### 例

例1 RecursiveDirectoryIterator の例

`<?php
$directory = '/tmp';
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
$it->rewind();
while($it->valid()) {
if (!$it->isDot()) {
echo 'SubPathName: ' . $it->getSubPathName() . "\n";
echo 'SubPath: ' . $it->getSubPath() . "\n";
echo 'Key: ' . $it->key() . "\n\n";
}
$it->next();
}
?>`

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

    SubPathName: fruit/apple.xml
    SubPath:     fruit
    Key:         /tmp/fruit/apple.xml

    SubPathName: stuff.xml
    SubPath:
    Key:         /tmp/stuff.xml

    SubPathName: veggies/carrot.xml
    SubPath:     veggies
    Key:         /tmp/veggies/carrot.xml

### 参考

- FilesystemIterator::__construct() - 新しい filesystem イテレータを作成する
- RecursiveIteratorIterator::__construct() - RecursiveIteratorIterator を作成する
- FilesystemIterator の定義済み定数