0

多くのユーザーが提案してくれたので、globals.php次の場所にファイルを作成しました。

<?php
    define('ROOT_DIR', __DIR__);
?>

そして、このファイルをサイトのすべてのファイルに含めます。

しかし、このファイルを他のファイルに含めると問題が発生します。

例: サイト構造:

/en/index.php
/header.php
/globals.php

今私が含めるheader.phpときindex.php

<?php
//header.php
include 'globals.php';

//index.php
include '../globals.php';
include '../header.php';
?>

を検索するため、現在header.phpは見つかりません。globals.php''../globals.php'

どうすればこの問題を解決できますか?

4

2 に答える 2

1

globals.php ファイルがドキュメント rood の config ディレクトリにあると想像してください。

だからあなたは持っています

/index.php
/config/globals.php 

require_once($_SERVER["DOCUMENT_ROOT"]."/config/globals.php);これを介してglobals.phpを含めることは、あなたがどのディレクトリにいるかに関係なく機能するという良いアプローチかもしれません 。

私の個人的な好みとして、プロジェクトのルートに定数を設定し、そこからすべてのプロジェクト関連データを取得するのが好きです。たとえば、

if (!defined("APP_ROOT")) define("APP_ROOT", $_SERVER["DOCUMENT_ROOT"]);

DIRとは対照的に、それを出発点としてのオプションとして評価することをお勧めします。

むしろ自然だと思います…

ファイルを含める必要がある場合は、http://www.mysite.com/library/database.phpを表示するように移動しますinclude(APP_ROOT."/library/database.php");

あなたのためにうまくいくかもしれないもう一つの良いことは、

SetEnv APP_CONFIG_FILE "/path/to/config/file.php"

ディレクティブを .htaccess ファイルに追加してから、すべてのスクリプトで

include($_SERVER["APP_CONFIG_FILE"]);

于 2013-05-29T02:14:51.483 に答える