php的魔术变量__DIR__和dirname()
今天在研究荒野无灯的远程图片下载插件,里面的header.php中有一句:
$bootstrap_file = dirname(dirname(dirname(__DIR__))). '/wp-admin/admin.php';
这里用了3个dirname,大家都知道dirname是返回文件的目录名,但是大家都忽略了这个函数一次只会返回一级目录。
__DIR__则是php5.3版本新增的一个魔术变量,指向当前执行的PHP脚本所在的目录。
Hacklog Remote Image Autosave 下载远程图片wordpress插件
那么让我们看看这里为什么要用3个dirname吧:
[php]$txt = ‘__DIR__ =’.__DIR__.’ dirname(__DIR__) =’.dirname(__DIR__).’ dirname(dirname(__DIR__))=’.dirname(dirname(__DIR__)).’ dirname(dirname(dirname(__DIR__))) =’.dirname(dirname(dirname(__DIR__)));[/php]
显示结果:
dirname(__DIR__) =D:\UPUPW_AP5.4\htdocs\wp\wp-content\plugins
dirname(dirname(__DIR__))=D:\UPUPW_AP5.4\htdocs\wp\wp-content
dirname(dirname(dirname(__DIR__))) =D:\UPUPW_AP5.4\htdocs\wp
噢!评论已关闭。