php include引入一个页面的时候为什么非得用dirname(__FILE__) ??

phpinclude引入一个页面的时候为什么非得用dirname(__FILE__)??用“../”来到上一级或上2级不行吗??有区别吗??看那么多包含好费事的--。。高... php include引入一个页面的时候为什么非得用dirname(__FILE__) ??
用 “../” 来到上一级或上2级 不行吗??
有区别吗?? 看那么多包含 好费事的- -。。
高手帮我解答下...
我想知道 有什么好、坏的之处 有啥区别, 还是个人习惯
展开
 我来答
百度网友0f37e23c0
推荐于2016-06-22 · TA获得超过1543个赞
知道大有可为答主
回答量:1070
采纳率:50%
帮助的人:1300万
展开全部
“../”适合于简单的一个文件包含于另一个文件。
而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文件,这个依次类推,文件的包含及路径永远也不会出错!
du瓶邪
推荐于2018-03-30 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2967万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就是这样的夜
2011-09-17 · TA获得超过838个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:517万
展开全部
不是吧。你去下载一些开源的PHP,好一点的都是用“../”之类的。dirname(__FILE__)根本就不会出现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badeager
2011-09-17 · TA获得超过290个赞
知道小有建树答主
回答量:720
采纳率:0%
帮助的人:603万
展开全部
dirname(__FILE__) 获取到绝对的当前路径,
直接使用 ./ ../ 之类的相对路径很容易出问题,而用直接写上绝对路径很容易把程序写死,到时候修改时引起其他问题。
呵呵额,个人一点感觉!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式