__FILE__はこの定数が呼び出されたファイルのフルパス+ファイル名を返します。これに対し、__DIR__はこの定数が呼び出されたファイルがあるディレクトリのフルパスを返します。ディレクトリパスの最後にスラッシュはつきません。
test.phpを作成し、以下のディレクトリに格納して表示します。
C:\xampp\htdocs\dev
//test.php
<?php
print_r(__FILE__.'<br>');
print_r(__DIR__);
?>
実行結果は以下の通りです。
C:\xampp\htdocs\dev\test.php
C:\xampp\htdocs\dev
なお__FILE__に対しdirname関数を使用すると__DIR__と同じ結果が得られます。
<?php
print_r(dirname(__FILE__));
?>
実行結果は以下の通りです。こちらもディレクトリパスの最後にスラッシュはつきません。
C:\xampp\htdocs\dev
