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入门的学习方法
Jan 02 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
php简单实现sql防注入的方法
Apr 22 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 PHP
PHP的new static和new self的区别与使用
Nov 27 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
深入理解Django的中间件middleware
2018/03/14 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
利用python开发app实战的方法
2019/07/09 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
python实现串口通信的示例代码
2020/02/10 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
python代码实现猜拳小游戏
2020/11/30 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
党员个人总结自评
2015/02/14 职场文书
无故旷工检讨书
2015/08/15 职场文书