ドキュメントルートを利用して読み込む場合
例えばこんなような場合。
- index.php
- common
- module
- header.php
- footer.php
- module
- about
- second.php
second.php から common の module をインクルードする場合、相対パスなら ../../common/module/header.php
となります。
ここで、絶対パスの /common/module/header.php
も使えるのかと思い指定しても、エラーとなって利用できない。そのため、ドキュメントルートと組み合わせて使う必要がでてくる。
そのドキュメントルートを利用する場合は下記のように指定する。
<?php
$webroot = $_SERVER['DOCUMENT_ROOT'];
include($webroot."/common/include/header.php");
?>
ブラウザ経由での利用のみの想定のため、$_SERVER['DOCUMENT_ROOT'];
を利用しています。getenv(‘DOCUMENT_ROOT’);
でもパスは取れるのですが、同じのが取れるような状態のときは前者のほうが環境変数を表示するだけのようなので早いようです。