PHPで現在のディレクトリを取得する方法

PHPで別のPHPファイルを読み込んだり、ログを出力するディレクトリを指定するときに、現在動いているPHPファイルがどこのディレクトリにいるのかを確認したい場合があります。

結論を言ってしまえば下記コードで取得できます。

$current = dirname(__FILE__);

上記コードを https://swell.dev-lib.work/sample/sample031.php のページで出力すると

/home/XXXXX/dev-lib.com/public_html/sample

となります。

※このブログはXサーバーで動いていまして、XXXXX 部分は個人情報なので伏せさせていただきました。

でも僕なりにちょっと疑問に思ったことを以下にまとめさせて頂きました。

目次

dirname()って何?

dirname()はPHPの関数ですが、現在のディレクトリを取得するときにしか使ったことないです。

ほかに便利な使い方あるのかな?

 

調べましたら dirname() は、パスを渡すと親ディレクトリを返してくれる関数のようです。

ということは __FILE__ はファイル名かな?

__FILE__って何?

__FILE__ をそのまま出力してみました。

ページは https://swell.dev-lib.work/sample/sample031.php です。

すると、以下のように実行されたPHPのファイルのパスが返ってきました。

/home/XXXXX/dev-lib.com/public_html/sample/sample031.php

現在動いてるファイルのパスなんですね。

長いことPHPやってましたけど初めて知りました(笑)

てことは親の親は

echo dirname(dirname(__FILE__));

上のように書けば親の親ディレクトリが取れました。

なるほど。

まとめ

現在のディレクトリを取得する方法は dirname(__FILE__); で出来る。

dirname() は親ディレクトリを取得する関数。

__FILE__ は現在実行中のPHPファイルのフルパスを返す。

親の親はあまり使う場面は無いかもしれません・・・

 

この記事を書いた人

ライターのプロフィールが入ります。このライター情報を入れたくない場合は管理画面の ユーザー > あなたのプロフィールの「プロフィール情報」を未入力にすれば表示されません。逆に「プロフィール情報」を入力することでライター情報を表示できます。

コメント

コメントする

CAPTCHA


目次
閉じる