分かりやすく、使いやすく。

実行中のファイルのファイル名を取得する方法

スポンサーリンク

実行中の自分自身のファイルのファイル名を取得するには __FILE__ という定数からフルパスを取得し、そのフルパスから basename() を使ってファイル名を取得します。

  1. サンプルコード
  2. 他のファイルを読み込む場合のサンプルコード


サンプルコード

サンプルコードと実行結果は次の通りです。

test1.php
1
2
3
4
5
6
//現在実行中のファイルのフルパスを取得。
$path = __FILE__;
 
//フルパスからファイル名を取得して改行(PHP_EOL)をつけて出力。
print 'test1.phpのファイル名(拡張子あり) → ' . basename($path) . PHP_EOL;
print 'test1.phpのファイル名(拡張子なし) → ' . basename($path, '.php') . PHP_EOL; 
test1.phpのファイル名(拡張子あり) → test1.php
test1.phpのファイル名(拡張子なし) → test1 

他のファイルを読み込む場合のサンプルコード

require などで別のファイルを読み込んだ場合、読み込まれた側で __FILE__ を参照すると、読み込まれた側のファイルのフルパスが返されます。この値に対して basename() を使用することで、呼び出された側のファイル名を取得することができます。

例えば test2.php から test1.php を読み込んだ場合のサンプルコードと実行結果は次の通りです。

test2.php(読み込む側)
1
2
3
4
5
6
7
8
9
//現在実行中のファイルのフルパスを取得。
$path_test2 = __FILE__;
 
//フルパスからファイル名を取得して改行(PHP_EOL)をつけて出力。
print 'test2.phpのファイル名(拡張子あり) → ' . basename($path_test2) . PHP_EOL;
print 'test2.phpのファイル名(拡張子なし) → ' . basename($path_test2, '.php') . PHP_EOL;
 
//test1.phpを読み込んで実行。
require_once('./test1.php'); 
test1.php(読み込まれる側)
1
2
3
4
5
6
//現在実行中のファイルのフルパスを取得。
$path = __FILE__;
 
//フルパスからファイル名を取得して改行(PHP_EOL)をつけて出力。
print 'test1.phpのファイル名(拡張子あり) → ' . basename($path) . PHP_EOL;
print 'test1.phpのファイル名(拡張子なし) → ' . basename($path, '.php') . PHP_EOL;  
test2.phpのファイル名(拡張子あり) → test2.php
test2.phpのファイル名(拡張子なし) → test2
test1.phpのファイル名(拡張子あり) → test1.php
test1.phpのファイル名(拡張子なし) → test1 

尚、絶対パスを取得したい場合は実行中のファイルの絶対パスを取得する方法を、ファイルのあるディレクトリ(フォルダ)のパスを取得したい場合は実行中のファイルのあるディレクトリ(フォルダ)のパスを取得する方法を参照してください。

スポンサーリンク
スポンサーリンク