在PHP中, include|require函数是用来包含文件的 。
如果我们使用绝对路径来包含一个文件,那么毫无疑问,这个路径非常明确 比如:
include('/home/a.php');
这样的路径指明了 根目录下的 home文件夹下的 a.php这个文件 这就是绝对路径。
include函数在查找文件的时候,也会直接根据该路径去查找。
但是如果是相对路径 那么就难免让人产生一些疑问。
现在我们有 :
/a.php
/c.php
/home/b.php
/home/c. php
4个PHP文件。
/a.php文件的代码为:
<span style="white-space:pre"> </span>include('/home/b.php');
/home/b.php文件的代码为:
<span style="white-space:pre"> </span>include('c.php');
当我们运行a.php文件的时候,实际上包含了/c.php 还是/home/c.php呢?
答案是/c.php。
还没完,当我们把/c.php删掉的时候,再次运行a.php文件,发现/home/c. php 被包含了。
实际上, 当我们写相对路径的时候, include函数查找的路径不唯一,优先到 当前工作目录 的相对路径 查找文件,找不到,会继续用备用路径寻找。