我的情况:我有,我想在一些地方使用的一类,所以我把它高高的目录树:如何已包括/所需的脚本使用本地文件
/www/libs/classA/classA.php
它使用一个位于同一目录中的配置文件,名为config.ini
,并在构造函数的本地引用它。但是,当我将它从脚本包含到不同的目录中时,它会尝试从调用脚本所在的目录加载配置文件。有什么方法可以查看包含文件所在的目录吗?理想情况下,我可以将脚本移动到不同的目录,而不对其进行任何更改。
我的情况:我有,我想在一些地方使用的一类,所以我把它高高的目录树:如何已包括/所需的脚本使用本地文件
/www/libs/classA/classA.php
它使用一个位于同一目录中的配置文件,名为config.ini
,并在构造函数的本地引用它。但是,当我将它从脚本包含到不同的目录中时,它会尝试从调用脚本所在的目录加载配置文件。有什么方法可以查看包含文件所在的目录吗?理想情况下,我可以将脚本移动到不同的目录,而不对其进行任何更改。
包含/加载文件时应使用绝对路径。你可以检索与__FILE__
constant和dirname
function是绝对路径:
dirname(__FILE__).'/config.ini'
这将分为五个你config.ini
文件在当前执行的脚本文件位于同一目录的绝对路径,所以当被执行的代码在您的classA.php
脚本文件中,您将获得/www/libs/classA/config.ini
。
如果参数中没有路径信息,您应该能够从当前文件的目录中包含/需要一个文件,例如,包括( 'file2.php');.但是我认为即使你有'./file2.php'),它也会变成相对于第一包含/执行脚本的目录。
我喜欢dirname(____ FILE ____)...方法,但我相信在一组文件旨在始终部署在同一目录中的情况下,直接文件包括提升内聚力。