假设我有这个网站文件根结构:
- 前端/首页/用户名/public_html/
- 后端/主页/用户名/public_html/管理员/
在前端文件夹中有一个名为config.php的文件。在这个文件中,我得到了我的网站的站点根目录,如下所示:
define('ROOT', dirname(__FILE__));
此文件也包含在前端和后端的两个索引文件(索引.php(中。但是对于后端,根是/home/username/public_html/admin/,实际上应该是/home/username/public_html/。如何在一行中,在配置.php中执行此操作?
乐:
演示代码 http://pastebin.com/LGrrJzaV
FILE 为您提供文件的完整路径和文件名。
dirname(( 返回父目录的路径。
因此,如果您使用:
define('ROOT', dirname(__FILE__));
它为您提供了当前脚本位置的目录结构。
要在admin/
内并返回上一个文件夹,请执行以下操作:
$path = dirname(__FILE__);
define("ROOT", $path.'/../');
// Outputs: /home/username/public_html/
在admin/
内部的一行中:
define("ROOT", dirname(__FILE__).'/../');
编辑
在一行中对两个位置具有相同的路径:
define("ROOT", (strpos(dirname(__FILE__), "admin")>=0) ? (str_replace("admin", "", dirname(__FILE__))) : (dirname(__FILE__)));
这将在两个索引上输出.php:
- 前端/首页/用户名/public_html/->
/home/username/public_html
- 后端/主页/用户名/public_html/管理员/->
/home/username/public_html
您可以使用
define('ROOT', $_SERVER['DOCUMENT_ROOT']);