后端和前端的站点根目录

时间:2012-05-21 09:02:56

标签: php

假设我有这个网站文件的根结构:

  • 前端/ home / username / public_html /
  • backend / home / username / public_html / admin /

在前端文件夹中有一个名为config.php的文件。在这个文件中,我得到了我的网站的网站根目录:

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

此文件也包含在前端和后端的两个索引文件(index.php)中。但对于后端,根目录是/ home / username / public_html / admin /,实际应该是/ home / username / public_html /。我怎么能在config.php中用一行呢?

LE

演示代码http://pastebin.com/LGrrJzaV

2 个答案:

答案 0 :(得分:2)

FILE为您提供文件的完整路径和文件名。

dirname()返回父目录的路径。

所以,如果您使用:

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

它为您提供了当前脚本位置的目录结构。

要进入admin/并返回上一个文件夹:

$path = dirname(__FILE__);

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

// Outputs:  /home/username/public_html/

位于admin/内的一行:

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

EDITED

在一行中为两个位置设置相同的路径:

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

答案 1 :(得分:0)

您可以使用

define('ROOT', $_SERVER['DOCUMENT_ROOT']);