Eyecatch php

PHP

PHPで現在のパスを取得する方法

2015/05/25

今更ではありますが、PHPを使ってそのスクリプトまでのパスを取得する方法を備忘録としてポストします。

PHPでパスを取得する

パスの種類

パスを取得する方法はいくつかあるのですが、まずはパスの種類から。
パスの種類は「絶対パス」「相対パス」「フルパス」と3種あり、それぞれに使い分ける必要有。

簡単にまとめると以下のようになります。

絶対パス

一般的には http から始まるパス(例1)。他サーバへリンクする場合に使用。
WEB制作者が使う絶対パスは「/」から始まるパスのこと(例2)ですが、この場合はサーバの「公開領域」の最上位、という意味合いとなります。

例1:http://wataame.sumomo.ne.jp/
例2:/img/php.png

相対パス

参照しているファイルから見たパス。画像やスクリプトを指定する場合などに用いる(例3)。

例3:参照元となるファイルが index.html とする場合、同階層の img ディレクトリの php.png を指定する場合は、./img/php.png となる。
逆に、php.png から見た index.html への相対パスは、../index.html となる。

フルパス

サーバ内、ApacheのDocumentRoot(ドキュメントルート)からのパス(例4)。
よくあるタイプのwebサーバの場合、以下のようになります。
例4:/var/www/toogie/public_html/

「public_html」を公開領域と設定された場合、いわゆるドキュメントルートと称される、FTPでファイルをアップロードする場合に使用するディレクトリとなります。

取得方法

では取得する方法。

「__FILE__」でフルパスを取得

PHPでは「__FILE__」という特殊な関数が用意されているので使用してみます。

◆Windowsサーバの場合
E:\website_data\toogie-develop\toogie\www\blog_sample\php\path\index.php

◆UNIXサーバの場合
/var/www/toogie-develop/toogie/www/blog_sample/php/path/index.php

ディレクトリパス

◆Windowsサーバの場合
E:\website_data\TOOGIE-DEVELOP\toogie\www\blog_sample\php\path

◆UNIXサーバの場合
/var/www/toogie-develop/toogie/www/blog_sample/php/path

※最後のスラッシュは付かない。

スクリプト名

◆Windowsサーバの場合
index.php

◆UNIXサーバの場合
index.php

以上のようになります。

-PHP
-, , , , , ,