RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7)

RecursiveDirectoryIterator::__constructRecursiveDirectoryIterator を作成する

説明

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

指定したパス pathRecursiveDirectoryIterator() を作成します。

パラメータ

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

参考


RecursiveDirectoryIterator
PHP Manual