PHPでプロジェクトのルートディレクトリパスを取得する方法(__DIR__とdirnameの使い方)
PHPで実行中のファイルが存在するディレクトリ(プロジェクトのルートパス)を取得したい場合、マジック定数 __DIR__ を使うのが最も簡単な方法です。また、dirname() 関数と __FILE__ を組み合わせても同じ結果が得られます。
1. __DIR__ を使う方法
__DIR__ はPHP 5.3以降で利用できるマジック定数で、そのファイルが置かれているディレクトリの絶対パスを返します。末尾にスラッシュは含まれません。
echo __DIR__;
2. dirname(__FILE__) を使う方法
もうひとつの方法として、dirname() 関数に __FILE__ を渡す書き方があります。__FILE__ はファイル自身のフルパスを表す定数で、そこから dirname() がディレクトリ部分だけを取り出します。
echo dirname(__FILE__);
どちらの書き方でも、返される結果はまったく同じになります。
サンプルコード
<!DOCTYPE html>
<html>
<body>
<?php
echo dirname(__FILE__);
echo "<br>";
echo __DIR__;
?>
</body>
</html>出力結果
/home/KOq8Zd /home/KOq8Zd
使い分けのポイント
- 可読性:
__DIR__の方が短く直感的なので、特別な理由がなければこちらを使うのがおすすめです。 - 互換性: PHP 5.2以前の古い環境をサポートする必要がある場合は、
dirname(__FILE__)を使用します。 - サブディレクトリへのアクセス: ルートパスに続けてパスをつなげる場合は、次のように記述できます。
require_once __DIR__ . '/config/settings.php';
このように __DIR__ や dirname(__FILE__) を活用すれば、サーバー環境に依存しないポータブルなパス指定が可能になり、プロジェクトの移動やデプロイ時にもコードを修正する必要がなくなります。
-
Androidでルートディレクトリの情報を取得するには?基本の手順とサンプルコード
この記事では、Androidでシステムのルートディレクトリの情報(絶対パス)を取得する方法を、実際のサンプルコードとともにわかりやすく解説します。手順1:Android Studioで新規プロジェクトを作成するまず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。手順2:レイアウトファイル(activity_main.xml)を編集する次に、res/layout/activity_main.xmlに以下のコードを記述します。ここでは、取得したルートディレクトリのパスを
-
Pythonでホームディレクトリを取得する方法|os.path.expanduserとpathlibの使い方
Pythonでホームディレクトリを取得する基本の方法Pythonでユーザーのホームディレクトリ(ホームフォルダ)のパスを取得したい場合は、標準ライブラリのosモジュールに含まれるos.path.expanduser(~)を使うのが最もシンプルで定番の方法です。この関数は、パスの中に~(チルダ)が含まれている場合、それを実際のホームディレクトリのパスに展開してくれます。たとえば~/Documents/my_folder/のように、より長いパスの一部として使うことも可能です。また、パスに~が含まれていない場合は、渡されたパスをそのまま変更せずに返します。os.path.expanduserの基本的