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执行速度全攻略(上)
Oct 09 PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
php中的常用魔术方法汇总
Feb 14 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
详解PHP中curl_multi并发的实现
Jun 08 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 autoload机制的详解
2013/06/09 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
详细介绍Python的鸭子类型
2016/09/12 Python
Python上下文管理器和with块详解
2017/09/09 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
合作协议书怎么写
2014/04/18 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
派出所所长先进事迹
2014/05/19 职场文书
网站出售协议书范文
2014/10/10 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
css3应用示例:新增的选择器
2022/03/16 HTML / CSS