对我来说是一样的但我不确定,

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

推荐答案

Their result is exactly the same ; 所以,在这一点上没有区别.


例如,以下两行:

var_dump(dirname(__FILE__));
var_dump(__DIR__);

将提供相同的输出:

string '/home/squale/developpement/tests/temp' (length=37)


  • __DIR__ only exists with PHP >= 5.3
    • 这就是为什么100被更广泛地使用
  • 100在编译时求值,而101表示函数调用,并在执行时求值
    • 所以,100要快(or, should be).


作为参考,请参阅手册(quoting)Magic constants部分:

__DIR__:文件的目录.

Php相关问答推荐

Laravel迁移返回SQL错误,但SQL有效且工作正常

使用PHP阅读XML提要

Laravel服务Provider 没有向服务类注入价值

按列值将二维数组排序为不超过N个的递增组

如何在微软图形API中使用用户S访问令牌或基于租户ID的访问令牌?

获取作者';在WordPress中使用PHP

如何在其他数组php中创建具有关联数组的数组

以编程方式同步 WPML 翻译更改 Woocommerce 产品销售价格

重命名 WordPress 中现有的自定义分类法名称和标签

无法允许元素(img:'src')与symfony html-sanitizer(symfony6.3 php 8.2)

API 平台 - UI 服务器端点定义

htaccess 重定向子域错误的 url

使用用户元数据填写 woocommerce checkout 字段

Firefox 115 会话行为:为什么页面无法找到要加载的现有会话 ID?

PHP文件如何从CSS执行

如何在PHP中对多个脚本调用进行排队?

在wordpress注销后防止后退操作

PHP 合并/合并多维数组

使用 --exclude-dir 选项从 PHP 执行 grep 时出现问题

如何通过路由传递变量