【PHP8.x】getFilenameメソッドの使い方

getFilenameメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getFilenameメソッドは、PHPのRecursiveDirectoryIteratorクラスに属し、現在イテレータが指し示しているファイルやディレクトリの名前を取得するメソッドです。RecursiveDirectoryIteratorは、指定されたディレクトリ内のファイルだけでなく、そのサブディレクトリに存在するファイルやディレクトリもすべて順番に処理するために利用されるクラスです。このメソッドを使うと、例えば「/path/to/project/src/main.php」というような完全なパスを持つファイルに対して、「main.php」というファイル名だけを文字列として取得することができます。

ディレクトリを再帰的に走査する際、ファイルやディレクトリのフルパスではなく、その名前の部分だけを取り出して処理したい場合に非常に便利です。例えば、特定の名前のファイルを探したり、ファイル名に基づいて条件分岐を行ったり、あるいはログ出力にファイル名を活用したりする場面で使われます。戻り値は常に文字列型で、現在の要素のファイル名またはディレクトリ名が返されます。もし、ファイルやディレクトリの完全なパス(ディレクトリパスとファイル名を結合したもの)を取得したい場合には、getFilenameメソッドの代わりにgetPathname()メソッドを使用します。このメソッドは、ディレクトリ走査中に個々の要素の名前を簡潔かつ正確に取得するための基本的な機能を提供します。

構文(syntax)

1<?php
2
3// 対象となるディレクトリのパスを指定します。
4// この例では、現在のスクリプトが配置されているディレクトリを使用します。
5$directoryPath = __DIR__;
6
7// RecursiveDirectoryIterator のインスタンスを作成します。
8$iterator = new RecursiveDirectoryIterator($directoryPath);
9
10// ディレクトリ内の各要素(ファイルやサブディレクトリ)を反復処理します。
11foreach ($iterator as $item) {
12    // getFilename() メソッドを使って、現在の要素のファイル名またはディレクトリ名を取得し、表示します。
13    echo $item->getFilename() . "\n";
14}
15
16?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

現在のディレクトリ要素のファイル名を表す文字列を返します。