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

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

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

作成日: 更新日:

基本的な使い方

getPathnameメソッドは、RecursiveDirectoryIteratorクラスに属し、現在イテレータが指しているファイルまたはディレクトリの完全なパス名を取得するメソッドです。PHP 8環境において、ファイルシステムを再帰的に走査する際に非常に有用な機能を提供します。

このメソッドを呼び出すと、RecursiveDirectoryIteratorオブジェクトが現在指している要素、例えばファイルやサブディレクトリの親ディレクトリからファイル名までを含んだ絶対パスまたは相対パスを文字列として返します。具体的には、「/path/to/directory/filename.ext」のような形式で結果が得られます。これは、同じくRecursiveDirectoryIteratorクラスが提供するgetFilename()メソッドがファイル名のみ(例:「filename.ext」)を返すのとは対照的に、その要素の正確な位置を完全に特定できる情報を提供します。

ファイルシステムの探索や操作を行うアプリケーションにおいて、各ファイルの正確な位置情報を把握することは不可欠です。getPathnameメソッドは、ファイルの内容を読み込む際、ファイルをコピーまたは移動する際、あるいは特定の条件に基づいてファイルを処理する際に、対象となるファイルの完全なパスを簡単に取得できるため、プログラムの堅牢性と可読性を向上させます。例えば、特定のディレクトリ以下のすべての画像ファイルのパスを取得して処理したり、ログファイルとして各ファイルのパスを記録したりするような場面で活用されます。

構文(syntax)

1<?php
2
3// 現在のディレクトリを対象とするRecursiveDirectoryIteratorを作成
4$dir = new RecursiveDirectoryIterator('.');
5// イテレータを再帰的に処理するためのRecursiveIteratorIteratorを作成
6$iterator = new RecursiveIteratorIterator($dir);
7
8// 各ファイルまたはディレクトリを反復処理
9foreach ($iterator as $file) {
10    // 現在の要素の完全なパス名を取得して出力
11    echo $file->getPathname() . "\n";
12}
13
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

このメソッドは、現在のディレクトリ要素の絶対パスとファイル名を結合した文字列を返します。