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 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
ThinkPHP 3.2 数据分页代码分享
Oct 14 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
ThinkPHP数据操作方法总结
Sep 28 PHP
基于PHP实现数据分页显示功能
May 26 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 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安装memcached扩展笔记
2015/05/28 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
python2与python3共存问题的解决方法
2018/09/18 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
Python字符串的一些操作方法总结
2019/06/10 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
电大本科自我鉴定
2014/02/05 职场文书
经典英文广告词
2014/03/18 职场文书
难忘的一天教学反思
2014/04/30 职场文书
积极向上的团队口号
2014/06/06 职场文书
大学迎新标语
2014/06/26 职场文书
十八大观后感
2015/06/12 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android