php包含文件和目录

时间:2014-12-03 10:36:55

标签: php include relative-path

假设我在目录new_folder中有两个文件:a.php和b.php

在a.php的文件中有一个声明:

include_once 'b.php'

另外,我在父文件夹中有一个demo.php文件,在demo文件中有一个声明:

include_once 'new_folder/a.php'

即。文件夹结构是:

demo.php
new_folder
   - a.php
   - b.php

为什么我在a.php文件中写道:

  • include_once 'b.php' - 正确路径
  • include_once './b.php' - 路径错误
  • include_once 'new_folder/b.php' - 路径错误

2 个答案:

答案 0 :(得分:0)

试试这个

require_once('../b.php'); 

答案 1 :(得分:0)

我的回答是基于php.net的: 根据给定的文件路径包含文件,如果没有给出,则指定include_path。如果在include_path中找不到该文件,则include最终将在调用脚本的自己的目录和当前工作目录中检查失败。

这意味着如果我用a.php写:include_once' b.php' ;然后在demo.php中包含a.php然后首先在include_path中查找该文件,然后它将在调用脚本(a.php)的目录中查找该文件,然后才会查找该文件在工作目录中(即我们运行的文件的目录并启动所有includes- demo.php)

编辑:我试过运行它,发现首先如果工作目录中有b.php那么它将包含它而不是来自调用脚本自己的目录的b.php。

该文件的最后一次检查是在new_folder(调用脚本自己的目录)中