不确定我是否以正确的方式使用它...
include $_SERVER['DOCUMENT_ROOT']."/includes/overall/header.php"
我的页面位于子目录中,我想包含来自其他目录的元素,其路径基于根目录。
不确定我是否以正确的方式使用它...
include $_SERVER['DOCUMENT_ROOT']."/includes/overall/header.php"
我的页面位于子目录中,我想包含来自其他目录的元素,其路径基于根目录。
$_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