ABSPATH还是__FILE__?

Sco*_*t B 16 php wordpress

有人能告诉我这两种方法中的任何一种是否优于另一种方法,为什么?

$mydir = ABSPATH.'/wp-content/themes/mytheme/images';

$mydir = dirname(__FILE__).'/images';

无论wordpress是安装在根目录还是根目录下的子目录中,它们都可用于获取"mytheme"图像目录的绝对路径.在这两种情况下,它们都是从位于"mytheme"文件夹下的functions.php文件中调用的.

Pek*_*ica 19

我个人更喜欢,dirname()因为它始终保证给我正确的结果,而ABSPATH方法依赖于固定的主题路径和主题名称,它们都可以改变.

顺便说一下,你可以用__DIR__而不是dirname(__FILE__).

  • 请注意,如果使用符号链接,`__FILE__`和`__DIR__`有时会产生不需要的结果,因为按设计,`__FILE__`*会解析*符号链接.不幸的是,没有办法绕过这个问题,在[PHP的错误跟踪器](https://bugs.php.net/search.php?cmd=display&search_for=__FILE__+symbolic)中提出了在PHP本身中解决这个问题的各种方法. (3认同)

Ada*_*dam 12