【PHP8.x】CURRENT_AS_FILEINFO定数の使い方

CURRENT_AS_FILEINFO定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURRENT_AS_FILEINFO定数は、PHPのRecursiveDirectoryIteratorクラスが、現在指し示しているファイルやディレクトリをどのような形式で返すかを指定するための定数です。RecursiveDirectoryIteratorは、指定されたディレクトリとその中のサブディレクトリを全て走査し、各要素を順番に処理するための仕組みを提供します。

このCURRENT_AS_FILEINFO定数を設定すると、イテレータが返す各要素がSplFileInfoオブジェクトとして提供されます。SplFileInfoオブジェクトは、ファイル名、完全なパス、サイズ、最終更新日時、パーミッションといった、ファイルやディレクトリに関する様々な詳細情報を保持しています。これにより、ファイルの内容を直接読み込むことなく、その属性情報に簡単にアクセスし、操作することができます。

例えば、特定のディレクトリ内の全ファイルの合計サイズを計算したり、特定の更新日時以降に作成されたファイルだけを抽出したりする場合に非常に便利です。RecursiveDirectoryIteratorのインスタンスを生成する際や、setFlags()メソッドを使って、この定数を指定することで、ファイルシステムを探索する際に、単なるファイルパス以上の豊富な情報を効率的に扱うことが可能となり、コードの柔軟性と可読性を向上させます。

構文(syntax)

1<?php
2
3// RecursiveDirectoryIterator のコンストラクタにフラグとして指定することで、
4// イテレータが返す各要素が SplFileInfo オブジェクトとして扱われるようになります。
5$iterator = new RecursiveDirectoryIterator(
6    '/path/to/your/directory', // 走査したいディレクトリのパスを指定します
7    RecursiveDirectoryIterator::CURRENT_AS_FILEINFO
8);
9
10?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません