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

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

作成日: 更新日:

基本的な使い方

KEY_AS_FILENAME定数は、PHPのFilesystemIteratorクラスにおいて、ファイルシステムを反復処理する際のキーの動作を設定するために使用される定数です。

FilesystemIteratorは、特定のディレクトリ内に存在するファイルやサブディレクトリを、一つずつ順番に処理する(反復処理する)際に利用するクラスです。このKEY_AS_FILENAME定数をFilesystemIteratorのコンストラクタ、またはsetFlags()メソッドに指定することで、イテレータが各ファイルやディレクトリの情報を取得する際に、その要素の「キー」としてファイル名(ベースネーム)が返されるようになります。

通常、FilesystemIteratorを特に設定せずに使用した場合、foreachループなどで各要素にアクセスする際のキーは、デフォルトでそのファイルやディレクトリの完全なパス名(例:/path/to/directory/file.txt)となります。しかし、このKEY_AS_FILENAME定数を指定すると、キーが完全なパス名ではなく、file.txtのような純粋なファイル名として扱われるようになります。

例えば、foreach ($iterator as $key => $fileInfo)$key の部分にファイル名が格納されるため、ファイル名を直接利用して処理を行いたい場合に非常に便利です。この定数を活用することで、ファイルシステムの反復処理におけるキーの取得方法を柔軟に制御し、プログラムの意図をより明確に表現することができます。

構文(syntax)

1<?php
2
3$iterator = new FilesystemIterator('/path/to/directory', FilesystemIterator::KEY_AS_FILENAME);
4
5?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません