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高手?学会“懒惰”的编程
Dec 05 PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
php数组一对一替换实现代码
Aug 31 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
PHP实现的简单异常处理类示例
May 04 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
关于laravel 子查询 &amp; join的使用
Oct 16 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
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
php mysql索引问题
2008/06/07 PHP
两个php日期控制类实例
2014/12/09 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
jQuery增加自定义函数的方法
2015/07/18 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
javascript操作cookie
2017/01/17 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python写的一个文本编辑器
2014/01/23 Python
python求素数示例分享
2014/02/16 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
卫校护理专业毕业生求职信
2013/11/26 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
信息员培训方案
2014/06/12 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android