Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

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

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

作成日: 更新日:

基本的な使い方

getFilenameメソッドは、GlobIteratorが現在指しているファイルまたはディレクトリのファイル名(ベース名)を取得するメソッドです。GlobIteratorは、PHPにおいて、指定されたファイルパターン(例: *.txt)に一致するファイルやディレクトリをファイルシステムから検索し、順に反復処理するためのクラスです。このメソッドは、ファイルシステムの要素を一つずつ処理する際に、それぞれの要素の識別名を簡単に取り出すために使用されます。

反復処理中にこのメソッドを呼び出すと、現在のイテレータ項目が表すフルパスから、パスの末尾にあるファイル名やディレクトリ名のみを返します。例えば、「/var/www/html/index.php」というフルパスであれば「index.php」を、「/var/log/apache2」というフルパスであれば「apache2」を返します。これにより、完全なパス全体を扱うことなく、ファイルやディレクトリの固有の名前部分を効率的に取得することができます。

本機能は、特定の条件に合致するファイル群の名前だけをリストアップする際や、取得したパスの中からファイル名部分のみを抽出して別の処理に利用する際に特に有用です。例えば、ウェブサイトのアップロードディレクトリ内の画像ファイルの名前を取得し、それらを一覧表示するようなシナリオで活用できます。getFilenameメソッドは、SplFileInfo::getFilename() と同様に、ファイルやディレクトリのベース名を簡潔に取得する役割を果たします。

構文(syntax)

1<?php
2// 現在のディレクトリにある全てのPHPファイルに対してGlobIteratorを作成
3$iterator = new GlobIterator(__DIR__ . '/*.php');
4
5// 見つかった各ファイルについて反復処理
6foreach ($iterator as $fileInfo) {
7    // 現在のファイル情報のファイル名(パス部分を含まない)を取得して出力
8    echo $fileInfo->getFilename() . "\n";
9}
10?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

GlobIterator クラスの getFilename メソッドは、現在処理中のファイル名の文字列を返します。