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

功能和效率

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三个函数、两种选择防止sql注入
  2. 非常实用的PHP常用函数汇总-加密解密、字符串操作、文件操作、SQ
  3. PHP array_search 和 in_array 函数效率问题
  4. 匿名函数
  5. PHP 核心特性之匿名函数
  6. PHP中16个高危函数
  7. PHP中判断函数是否被定义的方法
  8. PHP函数类型声明总结
  9. php中按大小进行排序的函数有哪些

随机推荐

  1. 了解PHP中json_encode与json_decode的区
  2. 15个PHP关于高并发的面试题(总结)
  3. 十年程序员告诉你Apache、PHP和Mysql之间
  4. 如何通过file_get_contents()发送GET、PO
  5. php如何解析url?解析url的5种方式介绍
  6. PHP如何实现AES加密、解密?方法介绍(代码示
  7. PHP如何解压缩zip文件?(代码示例)
  8. PHP 进程管理器 PHP-FPM
  9. PHP如何使用mpdf将html页面转换pdf文件?
  10. php大神进阶之try catch