首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中__DIR__和dirname(__FILE__)有什么区别吗?

在PHP中__DIR__和dirname(__FILE__)有什么区别吗?
EN

Stack Overflow用户
提问于 2010-05-01 17:25:58
回答 1查看 63.3K关注 0票数 130

对我来说看起来一样,但我不确定,

因为有很多使用dirname(__FILE__)的项目。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-01 17:28:56

它们的结果是完全相同的;,所以,没有区别。

例如,以下两行:

代码语言:javascript
复制
var_dump(dirname(__FILE__));
var_dump(__DIR__);

都会给出相同的输出:

代码语言:javascript
复制
string '/home/squale/developpement/tests/temp' (length=37)

但是,至少有两点不同:

  • __DIR__只存在于used

更广泛的PHP >= 5.3

  • __DIR__在编译时求值,而dirname(__FILE__)表示函数调用,并在执行时求值。因此,__DIR__是(或应该是) faster.

(

  • )

作为参考,请参阅手册的部分(报价):

__DIR__:在include中使用的file.If的目录,返回包含文件的目录。

这相当于dirname(__FILE__)

此目录名称没有尾随斜杠,除非它是根目录。

(在PHP5.3.0中添加)

票数 202
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2749416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档