ABSPATH还是__FILE__?

时间:2009-12-25 00:48:35

标签: php wordpress

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

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

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

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

4 个答案:

答案 0 :(得分:17)

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

顺便说一下,您可以使用__DIR__代替dirname(__FILE__)

答案 1 :(得分:12)

答案 2 :(得分:2)

对于我自己的项目,我会选择dirname(__FILE__),PHP中也有一个新的常量:

__DIR__ === dirname(__FILE__)

答案 3 :(得分:0)

ABSPATH是定义的变量 - >定义(" ABSPATH" __FILE__); 如果我直接使用魔法常量__FILE__。它将产生相同的结果。

在CMS ABSPATH和框架中使用BASEPATH用于以定义变量的形式获取根信息。 最后,在两者的帮助下,我们得到了同样准确的结果。