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

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

作成日: 更新日:

基本的な使い方

getRealPathメソッドは、PHPのDirectoryIteratorオブジェクトが現在指し示しているファイルまたはディレクトリの「実パス」を取得するメソッドです。DirectoryIteratorクラスは、指定されたディレクトリ内の各エントリ(ファイルやサブディレクトリ)を順番に処理するために使用されます。このメソッドは、イテレータが現在の位置で参照しているエントリについて、ファイルシステム上の実際の物理的な場所を示すパスを返します。

「実パス」とは、絶対パスであり、かつシンボリックリンクや../のような相対パスの要素をすべて解決し、最終的なファイルまたはディレクトリの物理的な位置を示す完全なパスのことです。例えば、/var/www/html/link_to_dataというシンボリックリンクが/srv/data/actual_dataを指している場合、このメソッドはシンボリックリンクを解決して/srv/data/actual_dataを返します。これにより、スクリプトが実際に操作しようとしているファイルが、シンボリックリンクなどの抽象化の背後に隠された、ファイルシステム上のどこに存在するのかを正確に知ることができます。

メソッドの実行に成功した場合、解決された実パスを表す文字列が返されます。もしパスが解決できなかったり、ファイルやディレクトリが存在しなかったりするなどの理由で失敗した場合は、falseが返されることがあります。このメソッドは、特にファイル操作やセキュリティ関連の処理において、参照しているパスの真の場所を特定したい場合に非常に役立ちます。

構文(syntax)

1<?php
2$directoryIterator = new DirectoryIterator('.');
3foreach ($directoryIterator as $fileObject) {
4    $realPath = $fileObject->getRealPath();
5    break;
6}

引数(parameters)

引数なし

引数はありません

戻り値(return)

string|false

指定されたファイルパスの絶対パスを文字列で返します。指定されたパスが存在しない、あるいはアクセスできない場合はfalseを返します。

【PHP8.x】getRealPathメソッドの使い方 | いっしー@Webエンジニア