与PHP包含困惑

时间:2011-11-13 08:42:38

标签: php

./..//

之间的差异

我很困惑,我试图在不同级别的文件夹中访问PHP类。

我在webdir/asia/v1中有以下文件夹结构:

+db
  class.database.php
  config.database.php
  +model
    Application.php
text.php

class.database.php中,我想要包含config.database.php,它位于同一个文件夹中。

Application.php中,我想要包含上面级别的class.database.php

text.php中,我想要包含Application.php

如何正确包含?

我现在知道的是,要将文件包含在同一个文件夹中,我可以使用它:

include('config.database.php');

另外两个变种怎么样?我尝试在Application.php中加入class.database.php这样的内容:

include_once('../class.database.php');

但它不起作用。

4 个答案:

答案 0 :(得分:3)

.是当前目录

./file.txt指向同一目录中的文件

..是父目录

../file.txt指向父目录中的文件

/是根目录(如Windows上的C:\

答案 1 :(得分:2)

前导路径不代表当前路径,./也是如此。

../表示上一层。

答案 2 :(得分:0)

使用 include(dirname(dirname(__ FILE__))。“/ class.database.php”); 并看看它是否有效。

编辑: 这里,dirname(__ FILE__)为你提供当前目录,其中dirname为“dirname(__ FILE__)”,你可以在目录树的层次结构中向上一步。

答案 3 :(得分:0)

您可以尝试包含以下文件:

include(dirname(__FILE__) . '/../class.database.php');

甚至使用服务器上的文档根目录:

include($_SERVER['DOCUMENT_ROOT'] . 'db/model/Application.php');