現在の位置: ホーム> 最新記事一覧> PHPでファイルパスを取得する2つの方法を詳しく解説

PHPでファイルパスを取得する2つの方法を詳しく解説

M66 2025-10-30

PHPでファイルパスを取得する一般的な方法

PHP 開発では、ファイルの絶対パスを取得することが非常に一般的なニーズです。構成ファイルをロードする場合でも、テンプレートを参照する場合でも、ログ ファイルのパスを検索する場合でも、現在のファイルまたはディレクトリの場所を正確に取得する必要があります。この記事では、この機能を実現する 2 つの一般的な方法を紹介します。

__FILE__ 定数を使用してファイル パスを取得します

__FILE__ は PHP の組み込みマジック定数の 1 つで、現在実行中のスクリプト ファイルのフル パス (ファイル名を含む) を返します。これにより、現在のファイルの絶対パスをすぐに取得できます。

 $filePath = __FILE__;

上記のコードを実行すると、サーバー内のファイルの完全なパスが $filePath 変数に保存されます。次に例を示します。

 /var/www/html/demo/index.php

getcwd() 関数を使用して現在のディレクトリを取得します。

getcwd() 関数は、現在の作業ディレクトリ (つまり、スクリプトが実行されるディレクトリ) を取得するために使用されます。 __FILE__ とは異なり、特定のファイルのパスではなく、現在のディレクトリのパスを返します。

 $directory = getcwd();

返される結果の例:

 /var/www/html/demo

__FILE__ と getcwd() の違い

  • __FILE__ は、現在のスクリプト ファイルのフル パス (ファイル名を含む) を返します。
  • getcwd() は、現在の作業ディレクトリのパスを返します。
  • スクリプトが他のファイルにインクルード (include/require) されている場合、__FILE__ はインクルードされたファイルのパスを返し、getcwd() はメイン ファイルの実行ディレクトリを返します。

要約する

特定の PHP ファイルのフル パスを取得する必要がある場合は、__FILE__ 定数を使用する方が適切です。現在の実行環境ディレクトリを見つける必要がある場合は、getcwd() 関数を使用することをお勧めします。 2 つの違いを理解すると、プロジェクトでパスの問題をより柔軟に処理できるようになります。