たとえば、これは良い考えですか?
require_once($_SERVER['DOCUMENT_ROOT'].'/include.php');
同じサーバー上に2つの仮想ホスト(1つはライブ用、もう1つは開発用)があり、Apache DocumentRootが異なる場合、インクルードのソースが不明で、任意のディレクトリにある可能性がある場合に、絶対パスをインクルードする必要がなくなります。
(注:次のセクションのファイルパスはWebルートを基準にしています。実際には、は次のようになります。/var/www/app/core/init.php
ここ/var/www/app
で、はWebルートです)
たとえば、/ core / init.phpがあります。これは、Webサイト全体の場所からの相対パスを使用して呼び出されます(/file.php
、/dir/file.php or /dir/dir/file.php
)。
このinit.phpには、fundディレクトリの/core
(のように/core/func/userfunctions.php
)のサブディレクトリにいくつかの関数ページが含まれています。
したがって、init.phpでは$_SERVER
、相対パスを使用して。のようなページから関数を呼び出そうとすると壊れてしまうため、このメソッドを使用できます/dir/file.php
。
問題はありませんが、一般的に何がうまくいかないのでしょうか。