1

このWebサイトファイルのルート構造があるとしましょう:

  • フロントエンド /home/username/public_html/
  • バックエンド /home/username/public_html/admin/

フロントエンド フォルダーには、config.php というファイルがあります。このファイルでは、次のように自分の Web サイトのサイト ルートを取得します。

define('ROOT', dirname(__FILE__));

このファイルは、フロントエンドとバックエンドの両方のインデックス ファイル (index.php) にも含まれています。ただし、バックエンドの場合、ルートは /home/username/public_html/admin/ であり、実際には /home/username/public_html/ である必要があります。これをconfig.phpで1行で行うにはどうすればよいですか?

ル:

デモコードhttp://pastebin.com/LGrrJzaV

4

2 に答える 2

2

FILEは、ファイルのフル パスとファイル名を示します。

dirname()は、親ディレクトリのパスを返します。

したがって、次を使用する場合:

define('ROOT', dirname(__FILE__));

現在のスクリプトの場所のディレクトリ構造が表示されます。

の中にいadmin/て、前のフォルダーに戻るには:

$path = dirname(__FILE__);

define("ROOT", $path.'/../');

// Outputs:  /home/username/public_html/

内部にある1行でadmin/

define("ROOT", dirname(__FILE__).'/../');

編集済み

1 行で両方の場所に同じパスを指定します。

define("ROOT", (strpos(dirname(__FILE__), "admin")>=0) ? (str_replace("admin", "", dirname(__FILE__))) : (dirname(__FILE__)));

これは両方の index.php に出力されます:

  • フロントエンド/home/username/public_html/ ->/home/username/public_html
  • バックエンド/home/username/public_html/admin/ ->/home/username/public_html
于 2012-05-21T09:10:55.980 に答える
0

あなたが使うことができます

define('ROOT', $_SERVER['DOCUMENT_ROOT']);
于 2012-05-21T09:14:36.320 に答える