PHPを実行した時にスクリプト内でパスを指定したい場合があると思います。

その場合に利用できそうな各種パスの取得方法をご紹介します。

たとえば、/apache2/htdocs/hoge.phpの場合です。

// 絶対パス
// 出力結果:/apache2/htdocs/hoge.php
echo __FILE__;

// ディレクトリパス
// 出力結果:/apache2/htdocs/
echo dirname(__FILE__);

// スクリプト名
// 出力結果:hoge.php
echo basename(__FILE__);

このディレクトリパスを利用して、相対パスで上位ディレクトリを指定できます。

例えば、test.phpで、func.phpをincludeする場合を考えてみます。

< ディレクトリ構成 >
┣common
┃ ┗ test.php
┗func
  ┗ func.php

test.phpの中に以下のように書きます。

include(dirname(__FILE__)."/../func/func.php");

このように使うと相対パスで指定できるようになります。

dirnameは最後に”/”を付けてくれないので注意してください。