0

不确定我是否以正确的方式使用它...

include $_SERVER['DOCUMENT_ROOT']."/includes/overall/header.php"

我的页面位于子目录中,我想包含来自其他目录的元素,其路径基于根目录。

4

1 回答 1

2

$_SERVER 变量在 php 运行时是全局的,使用起来不安全。

代码 $_SERVER['DOCUMENT_ROOT'] = 'A_BAD_PATH'; 生效。之后的代码无法获得正确的变量。

您应该使用 __FILE__,一个指向当前文件路径的常量,并定义一个指向根目录的常量。

代码示例:

define('CURRENT_DIR', dirname(\__FILE__));
define('ROOT_DIR', dirname(CURRENT_DIR + '/..');
require(ROOT_DIR + '/some/path/to/init.php');

查看更多关于 __FILE__ 和其他魔术常量http://php.net/manual/en/language.constants.predefined.php

于 2012-07-16T03:48:11.677 回答