PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > PHP教程 > 正文

    PHP获取绝对路径dirname(__FILE__)和__DIR__比较

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:我们都知道,要获取当前PHP脚本所在目录的绝对路径,dirname(__FILE__) 和__DIR__都可以实现。那么什么情况下用dirname(__FILE__),什么情...
    我们都知道,要获取当前PHP脚本所在目录的绝对路径,dirname(__FILE__) 和 __DIR__都可以实现。那么什么情况下用 dirname(__FILE__),什么情况下用 __DIR__ 呢?它们之间有什么区别?

    功能和效率

    dirname(__FILE__)由两部分组成, __FILE__ 魔术变量和 dirname() 函数。__FILE__是当前脚本的绝对路径,通过 dirname() 函数后,就可以获得脚本所在目录的绝对路径。

    举个栗子,有个 hello.php 文件,其部署在服务器的目录是:/home/www/website/hello.php

    那么,

    • __FILE__ 的值就是:/home/www/website/hello.php
    • dirname(__FILE__) 返回就是:/home/www/website/

    如果我们在 hello.php 用 __DIR__全局变量,就可以直接获得所在目录的绝对路径:/home/www/website/,和 dirname(__FILE__) 效果完全一样。

    在实现同样功能的情况下,dirname(__FILE__)多了一层函数调用。所以, __DIR__ 比 dirname(__FILE__) 在效率上有优势

    PHP版本支持

    __FILE__ 和 dirname() 函数从 PHP 4.0.2 就开始启用。

    __DIR__ 变量则是 PHP5.3.0 新增的。

    所以,如果你的PHP版本大于等于PHP5.3.0,建议使用 __DIR__。否则,最好还是用 dirname(__FILE__),以确保程序不会出错。

     

    参考资料

    1. PHP魔术常量
    2. Is there any difference between __DIR__ and dirname(__FILE__) in PHP?
    3. dirname(__FILE__) vs __DIR__ in PHP
    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-10-3320-1.html
    相关热词搜索: