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


Posted in PHP onOctober 28, 2020

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.php
echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test
?>

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

<?php
include "test/a.php";//返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.phpF:\Modoer_2.6_SC_UTF8\upload\test

echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php
echo $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 相关文章推荐
PHP时间戳使用实例代码
Jun 07 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
解析smarty 截取字符串函数 truncate的用法介绍
Jun 20 PHP
php解决约瑟夫环示例
Apr 09 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
php 中的closure用法详解
Jun 12 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
详解phpstorm2020最新破解方法
Sep 17 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 #PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 #PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 #PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 #PHP
Laravel配合jwt使用的方法实例
Oct 25 #PHP
数据结构之利用PHP实现二分搜索树
Oct 25 #PHP
如何运行/调试你的PHP代码
Oct 23 #PHP
You might like
抓取YAHOO股票报价的类
2009/05/15 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Python中的Classes和Metaclasses详解
2015/04/02 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python获取外网ip地址的方法总结
2015/07/02 Python
python妹子图简单爬虫实例
2015/07/07 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
python对csv文件追加写入列的方法
2019/08/01 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
选秀节目策划方案
2014/06/06 职场文书
迎新晚会策划方案
2014/06/13 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
交警失职检讨书
2015/01/26 职场文书