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 相关文章推荐
用 PHP5 轻松解析 XML
Dec 04 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
PHP pear安装配置教程
May 14 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
thinkPHP框架实现多表查询的方法
Jun 14 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修改Linux或Unix口令的方法分享
2012/01/30 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
JavaScript 创建对象
2009/07/17 Javascript
json 实例详细说明教程
2009/10/31 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
centos系统升级python 2.7.3
2014/07/03 Python
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
python内存管理机制原理详解
2019/08/12 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
节约用水的口号
2014/06/20 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
css3带你实现3D转换效果
2022/02/24 HTML / CSS
nginx设置资源请求目录的方式详解
2022/05/30 Servers
Mysql数据库group by原理详解
2022/07/07 MySQL