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基础知识:类与对象(1)
Dec 13 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
php include和require的区别深入解析
Jun 17 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
php实现MySQL数据库备份与还原类实例
Dec 09 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
PHP生成器简单实例
May 13 PHP
PHP实现电商订单自动确认收货redis队列
May 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
PHP 开源AJAX框架14种
2009/08/24 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Django框架安装方法图文详解
2019/11/04 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
《听鱼说话》教学反思
2014/02/15 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
2014年领班工作总结
2014/11/25 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书