微信关注,获取更多

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

我们都知道,要获取当前PHP脚本所在目录的绝对路径 dirname(__FILE__) 和 __DIR__都可以实现。那么什么情况下用 dirname(__FILE__),什么情况下用 DIR 呢?它们之间有什么区别?

irname(__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),以确保程序不会出错。

未经允许不得转载:下一个课程 » PHP获取绝对路径dirname(__FILE__)和__DIR__比较

评论

1+6=

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏