2 回答
TA贡献1842条经验 获得超21个赞
dirname() 函数返回路径中的目录部分。
dirname(__FILE__) 取到的是当前文件所在的绝对目录
../ 这里是上一级目录
如果是 ./ 则是同级目录
举个例子:
假设,现在的文件目录是 D:\www\yoursite\test.php
那么dirname(__FILE__) 就是D:\www\yoursite
dirname(__FILE__).'/../‘ 这里就是 D:\www\yoursite/../ 实际上就是路径D:\www
dirname(__FILE__).'/../popup.php' 实际上就是路径 D:\www\popup.php
TA贡献1869条经验 获得超4个赞
“../”适合于简单的一个文件包含于另一个文件。
而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文件,这个依次类推,文件的包含及路径永远也不会出错!
- 2 回答
- 0 关注
- 466 浏览
添加回答
举报