PHP中的导入范围是什么?

时间:2013-07-30 15:44:51

标签: php include scope

我的服务器上有三个文件:

foo.php
assets/bar.php
assets/qux.php

foo.php包括bar.phpbar.php包含qux.phpfoo.php的代码如下所示:

<?php
    include_once("assets/bar.php");
?>

bar.php应如何包含qux.php?它应该使用include("qux.php")还是include("assets/qux.php")

3 个答案:

答案 0 :(得分:2)

如果它们位于同一目录中,那么它只是:

include("qux.php")

答案 1 :(得分:2)

假设您尚未修改包含路径,include_once('qux.php')应该可以正常工作。

答案 2 :(得分:0)

实际应该使用include("assets/qux.php")。包含文件的路径是动态的;这取决于foo.php

如果要从多个目录中包含bar.php,最好使用绝对路径。

因此,有两种方法可以在PHP中“链包含”文件:

方式#1(动态相对路径)

include("assets/qux.php");

方式#2(绝对路径)

$ROOT = realpath($_SERVER["DOCUMENT_ROOT"]);
include("$ROOT/assets/qux.php");

As seen here