HAM MEDIA MEMO

PHP で共通部を include する際に覚えておきたいドキュメントルートの取り方

ドキュメントルートを利用して読み込む場合

例えばこんなような場合。

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’); でもパスは取れるのですが、同じのが取れるような状態のときは前者のほうが環境変数を表示するだけのようなので早いようです。