PHP包含失败但不应该失败

时间:2014-03-26 16:02:08

标签: php include

我有一个include' functions.php'它包含连接细节和各种自定义功能等内容。

它与每个页面完美配合,但我刚刚在新目录中创建了一个新页面,相应地调整了包含链接,并正确包含了页面。

但是,当使用include中的任何功能时,它会破坏页面。

 include '../../../functions.php' 

这是一种可接受的链接到函数包含的方式吗?这是为什么它坏了? 我通常使用这种链接方法,从来没有遇到过问题,但今天它没有用,而且真的让我很困惑。

它完美无缺,直到我尝试调用函数include中的任何函数。

打破页面的简单函数示例

 function functionsTest() {
        echo "functions.php Included Correctly! ";
    } 

功能页面在网站的其余部分完美运行,并且仅在这个新创建的页面上打破。

感谢任何建议,谢谢

2 个答案:

答案 0 :(得分:1)

假设您有一个名为myfunctions的文件夹,您可以使用这样的真实路径:

define('FUNCTION_PATH', realpath(dirname(__FILE__).'/myfunctions'));

然后你将使用这样的常量路径:

include FUNCTION_PATH."functions.php"; 

答案 1 :(得分:1)

相对于代码所在的物理文件,PHP中的相对路径。相反,它们是相对于工作目录,默认情况下,它是主脚本的目录,尽管你甚至可以change it on runtime

  

bool chdir ( string $directory )
  将PHP的当前目录更改为directory

如果您需要相对于当前文件的路径,则必须自己构建绝对路径:

include(__DIR__ . '/foo.php');