AI智能
改变未来

PHP dirname(__FILE__)原理及用法解析

dirname(dirname(_FILE_));

假设__FILE__为 /home/web/config/config.php

上面的方法输出为 /home/web

dirname(dirname(\\__FILE__));//得到的是文件上一层目录名
dirname(\\__FILE__);//得到的是文件所在层目录名

发现网上找了很多文章都是错误的,特别验证后发出来:

dirname(_FILE_)

php中定义了一个很有用的常数,即:_file_

这个内定常数是所在php程序文件的完整路径(路径+文件名)。

即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。

请看下面例子:

F:\\Modoer_2.6_SC_UTF8\\upload\\test\\a.php

<?php$the_full_name=__FILE__;$the_dir=dirname(__FILE__);echo $the_full_name; //返回:F:\\Modoer_2.6_SC_UTF8\\upload\\test\\a.phpecho $the_dir; //返回:F:\\Modoer_2.6_SC_UTF8\\upload\\test?>

**F:\\Modoer_2.6_SC_UTF8\\upload\\b.php
**

<?phpinclude \"test/a.php\";//返回:F:\\Modoer_2.6_SC_UTF8\\upload\\test\\a.phpF:\\Modoer_2.6_SC_UTF8\\upload\\testecho $the_full_name; //返回:F:\\Modoer_2.6_SC_UTF8\\upload\\test\\a.phpecho $the_dir; //返回:F:\\Modoer_2.6_SC_UTF8\\upload\\test?>

简单地说:

_FILE_ 返回其所在文件的路径+文件名

dirname(_FILE_) 返回_FILE__所在文件的路径部分

dirname(dirname(_FILE));得到的是__FILE__所在文件的上一层目录名(不含最后一个“\\”号)

例如,当前文件是 F:\\Modoer_2.6_SC_UTF8\\upload\\test\\a.php,则

_FILE_ 得到的就是完整路径 即 F:\\Modoer_2.6_SC_UTF8\\upload\\test\\a.php ,而

dirname(_FILE_)得到路径部分 即 F:\\Modoer_2.6_SC_UTF8\\upload\\test

dirname(dirname(_FILE_)),即:F:\\Modoer_2.6_SC_UTF8\\upload

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

  • PHP dirname功能及原理实例解析
  • php getcwd与dirname(__FILE__)区别详解
  • PHP中__FILE__、dirname与basename用法实例分析
  • 解析php dirname()与__FILE__常量的应用
  • php dirname(__FILE__) 获取当前文件的绝对路径
  • PHP 中dirname(_file_)讲解
  • PHP dirname简单使用代码实例
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » PHP dirname(__FILE__)原理及用法解析