PHP 開発では、ファイルの絶対パスを取得することが非常に一般的なニーズです。構成ファイルをロードする場合でも、テンプレートを参照する場合でも、ログ ファイルのパスを検索する場合でも、現在のファイルまたはディレクトリの場所を正確に取得する必要があります。この記事では、この機能を実現する 2 つの一般的な方法を紹介します。
__FILE__ は PHP の組み込みマジック定数の 1 つで、現在実行中のスクリプト ファイルのフル パス (ファイル名を含む) を返します。これにより、現在のファイルの絶対パスをすぐに取得できます。
$filePath = __FILE__;上記のコードを実行すると、サーバー内のファイルの完全なパスが $filePath 変数に保存されます。次に例を示します。
/var/www/html/demo/index.phpgetcwd() 関数は、現在の作業ディレクトリ (つまり、スクリプトが実行されるディレクトリ) を取得するために使用されます。 __FILE__ とは異なり、特定のファイルのパスではなく、現在のディレクトリのパスを返します。
$directory = getcwd();返される結果の例:
/var/www/html/demo特定の PHP ファイルのフル パスを取得する必要がある場合は、__FILE__ 定数を使用する方が適切です。現在の実行環境ディレクトリを見つける必要がある場合は、getcwd() 関数を使用することをお勧めします。 2 つの違いを理解すると、プロジェクトでパスの問題をより柔軟に処理できるようになります。