1

私はほぼ 9 年前に自分の Web サイトの PHP コードを書きました。という設定ファイルがありますcommon.php。サイトの各ページには、サイトの定数、クラス、および変数にアクセスするためにこのページが必要です。

ローカル マシンで開発してから、ライブ サイトにファイルをアップロードします。ページで呼び出しに使用したコードcommon.phpは次のとおりです。

$main = ($_SERVER['HTTP_HOST'] == 'localhost')? "E:\-=Web=-\-=Sites=-\mysite\main\common.php" :"/home/mysite/public_html/main/common.php";
require_once($main);

これはうまく機能し、問題は発生しませんでした。

ただし、代わりに次のものを使用できると思います。

require_once($_SERVER["DOCUMENT_ROOT"]."/main/common.php")

これにより、コードがよりコンパクトになり、開発サイトのファイルを常にE://

だから私の質問は、使用するのは良い習慣$_SERVER["DOCUMENT_ROOT"]ですか?

これは、各ページで構成ファイルを呼び出したい場合、ほとんどの開発者が行うことですか?

4

1 に答える 1

1

最も一般的で信頼性の高い方法は、コードへのパスを含む定数を index.php ファイル、または同じディレクトリまたは既知の相対パスからインクルードされた config.php ファイルに定義して、次を参照することです。

if (!defined('APP_DIR')) define('APP_DIR', __DIR__); // set the app directory to that of the currently executing file

他のファイルのrequire行は次のようになります

require_once(APP_DIR . '/main/common.php');

これで、この定数に期待どおりの値が含まれることを保証できます。あなたがそれを正しく設定したと仮定すると、それはです。;)

于 2013-04-11T09:19:33.903 に答える