PHP getcwd()函数与include或require一起使用在不同的目录中

时间:2012-04-27 16:49:43

标签: php include-path getcwd

我需要在一个目录中的一个目录中包含一个配置文件的路径,在其他scrpits上向上或向下几个目录。

我的配置文件有这样的功能:

$execute_path = getcwd() . "/execute.php";

execute.php文件与配置文件位于同一目录中,使其正常,输出将变为:

public-html/config-directory/execute.php

现在,如果在原始目录之外的目录中使用相同的函数,它会将getcwd()函数视为在该目录中。

例如,如果从目录public-html / one / two / three / somefile.php调用它,如下所示:

<?php 
include(pathto/config.php)
echo $execute_path;
?>

输出变为publichtml / one / two / three / execute.php而不是保留publichtml / config-directory / execute.php

我怎样才能达到我想要的目标?很抱歉很长的解释。感谢。

1 个答案:

答案 0 :(得分:1)

包含可能非常棘手,为什么我的建议是

//config.php

define("SITE_PATH", "public-html/config-directory");


//execute.php

$execute_path =SITE_PATH . "/execute.php";

//run.php
include_once 'config.php';
include_once 'execute.php';

echo $execute_path;