2009-06-11 28 views
0

我的情况:我有,我想在一些地方使用的一类,所以我把它高高的目录树:如何已包括/所需的脚本使用本地文件

/www/libs/classA/classA.php 

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

回答

4

包含/加载文件时应使用绝对路径。你可以检索与__FILE__ constantdirname function是绝对路径:

dirname(__FILE__).'/config.ini' 

这将分为五个你config.ini文件在当前执行的脚本文件位于同一目录的绝对路径,所以当被执行的代码在您的classA.php脚本文件中,您将获得/www/libs/classA/config.ini

0

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

我喜欢dirname(____ FILE ____)...方法,但我相信在一组文件旨在始终部署在同一目录中的情况下,直接文件包括提升内聚力。