如何包含/必需脚本使用本地文件

时间:2009-06-11 20:46:47

标签: php include

我的情况:我有一个我想在很多地方使用的课程,所以我把它放在目录树中:

/www/libs/classA/classA.php

它使用位于名为config.ini的同一目录中的配置文件,并在构造函数中本地引用它。但是,当我从不同目录中的脚本中包含它时,它会尝试从调用脚本所在的目录中加载配置文件。有没有什么办法可以查看包含文件所在的目录?理想情况下,我可以将脚本移动到其他目录,而不是对其进行任何更改。

2 个答案:

答案 0 :(得分:4)

包含/加载文件时应使用绝对路径。您可以使用__FILE__ constantdirname function

检索该绝对路径
dirname(__FILE__).'/config.ini'

这将是当前执行的脚本文件所在的同一目录中config.ini文件的绝对路径。因此,当您的classA.php脚本文件中执行该代码时,您将获得/www/libs/classA/config.ini

答案 1 :(得分:0)

如果参数中没有路径信息,您应该能够包含/要求当前文件目录中的文件,例如:包括( 'file2.php');.但我想即使你有'./file2.php'),它也会变成相对于第一个包含/执行的脚本的目录。

我喜欢dirname(____ FILE ____)...方法,但我相信在某一组文件总是要部署在同一目录中的情况下,直接文件包括促进内聚。