2020年3月31日

PHPでフルパスを確認

たまに使うと何だっけって思う関数、いろいろあるのですが、Basic認証のhtaccessでhtpasswdの場所を指定する時などに使用するフルパスを確認するための関数、それが「__FILE__」です。この「__FILE__」は応用でディレクトリのパスやPHPファイル名のみを取得することもできます。

PHPで確認する時は以下のように書きましょう。

PHPでフルパスを確認する記述

応用編も含め、以下のように記述することで、それぞれの情報を表示できます。

//このPHPファイルまでのフルパス
echo __FILE__;
 
//このPHPファイルのディレクトリまでのフルパス
echo dirname(__FILE__);
 
//このPHPファイル名
echo basename(__FILE__);
 
//PHPファイル名から指定した拡張子を取り除いたファイル名
echo basename(__FILE__, '.php');

フルパスとは?

そもそもフルパスとは「絶対パス」のことで、rootから見た、そのファイルやディレクトリの場所を表すパスの事です。

一般的なレンタルサーバーを契約してFTPで接続するような使い方だけだと、ドキュメントルート配下のみアクセス出来る状態であることが多いので、あまりフルパスを意識しないかもしれません。サーバーにはブラウザからURLを叩いて表示できる領域と、それ以外の領域があり、例えば「/var/www/html」配下がドキュメントルート=公開領域である場合、この「html」ディレクトリより上の階層にはブラウザからURLを叩いてもアクセスできない=設定ファイルなど、外部に漏洩してはいけないファイルが置かれていたりします。

Apacheの設定ファイルであったり、無料SSLでお馴染みのLet’s Encryptだったりといった重要な設定ファイルが、ドキュメントルートからは見えない上の領域に置かれています。

少し脱線しつつ、PHPでフルパスを確認する方法でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です