FilesystemIterator::__construct

新しい filesystem イテレータを作成する

説明

public FilesystemIterator::__construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS)

新しい filesystem イテレータを directory から作成します。

パラメータ

directory

反復処理したいファイルシステム上のアイテムへのパス。

flags

フラグを指定すると、いくつかのメソッドの振る舞いを変更することができます。 フラグの一覧は FilesystemIterator の定義済み定数 を参照ください。これは、あとで FilesystemIterator::setFlags で設定することもできます。

エラー / 例外

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

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

変更履歴

バージョン 説明
8.2.0 PHP 8.2.0 より前のバージョンでは、 FilesystemIterator::SKIP_DOTS は常に設定され、削除できませんでした。
8.0.0 directory が空文字列の場合に、 ValueError をスローするようになりました。 これより前のバージョンでは、 RuntimeException をスローしていました。

例1 FilesystemIterator::__construct の例

<?php
$it = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::CURRENT_AS_FILEINFO);
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

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

.
..
apples.jpg
banana.jpg
example.php

PHP 8.2.0 より前のバージョンでは、上の例の出力は以下のようになります:

apples.jpg
banana.jpg
example.php

参考

  • FilesystemIterator::setFlags
  • DirectoryIterator::__construct