PHP

【PHP】絶対パスの取得方法(__FILE__,__DIR__,dirname)

本記事では、PHPで絶対パスを取得することができる__FILE__と__DIR__とdirname関数の使い方について解説しています。

PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

本書情報
著者谷藤 賢一
発売日2017/3/6
ページ数331ページ
Kindle版
レビュー
(Amazon)
(168件)

参考書が苦手な人はUdemyの動画がおすすめ
ちゃんと学ぶ、PHP+MySQL(MariaDB)入門講座

動画情報
作成者たにぐち まこと
学習時間11時間
受講者数24,526人
レビュー (4,518件)
動画の詳細はこちら

__FILE__の使い方

__FILE__では、対象ファイルまでの絶対パスを取得してくれます。関数ではないので、引数などの指定は必要ありません。

<?php
    echo __DIR__;
?>
__FILE__の実行結果
__FILE__の実行結果

実行結果を確認すると、index.phpまでの絶対パスが取得できていることが確認できます。

__DIR__の使い方

__DIR__では、対象ファイルが置かれているディレクトリまでの絶対パスを取得してくれます。__FILE__と同様に関数ではないので、引数などの指定は必要ありません。

<?php
    echo __FILE__;
?>
__DIR__の実行結果
__DIR__の実行結果

実行結果を確認すると、index.phpが置かれているディレクトリが絶対パスが取得できていることが確認できます。

dirnameの使い方

dirnameでは、__DIR__と同様に対象ファイルが置かれているディレクトリまでの絶対パスを取得してくれます。

__DIR__との違いは、関数であるため引数を指定することが出来ます。dirnameは2つの引数を設定することができ、第一引数にはパスを指定し、第二引数には何個上のディレクトリを対象にするかを指定します。第二引数の初期値は1であり、これは第一引数で指定したパスのディレクトリを指します。

<?php
    echo dirname(__FILE__, 2);
?>
dirnameの実行結果
dirnameの実行結果

実行結果を確認すると、index.phpファイルが置かれているtestディレクトリの一つ上の絶対パスを取得することが出来ました。これはdirnameの第二引数で2を指定しているため、__FILE__で取得したディレクトリの一つ上のディレクトリまでの絶対パスを取得するという意味になります。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村