在php编程中,__FILE__的路径是当前代码所在文件,dirname(dirname(__FILE__));得到的是文件上一层目录名,dirname(__FILE__);得到的是文件所在层目录名。
“../”适合于简单的一个文件包含于另一个文件。
而dirname(__FILE__) 大多适合多层,更复杂多多文件包含,维护起来更容易。
如果仅仅是a.php文件包含b.php文件,可以直接用 include的dirname(__FILE__)或者 “../” 均可,一般不会出错的。
但往往是 a包含了 b文件,另外c.php包含了a文件
那么使用 “../” 的话,就会造成c包含a时再载入b文件时路径出错,而使用dirname(__FILE__)时,c包含a时会以dirname(__FILE__)映射出c和a的路径关系,
a再到包含b文件时,使用dirname(__FILE__),会映射出a和b的相应目录关系。这个就不会造成不同目录多次包含时路径出错!
注意 __FILE__,代表 这个代码所在文件的文件名, 比如 c用dirname(__FILE__)包含a,那么 __FILE__代码是c文件,而c包含a后,a再用dirname(__FILE__)包含到b时,
那么__FILE__在执行时就是a文件,这个依次类推,文件的包含及路径永远也不会出错!