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 第一节 php简介
Apr 28 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
关于svn冲突的解决方法
Jun 21 PHP
2014过年倒计时示例
Jan 31 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP实现上传图片到 zimg 服务器
Oct 19 PHP
PHP fclose函数用法总结
Feb 15 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php短址转换实现方法
2015/02/25 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
google地图的路线实现代码
2009/08/20 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
从头学Python之编写可执行的.py文件
2017/11/28 Python
python中logging包的使用总结
2018/02/28 Python
python生成n个元素的全组合方法
2018/11/13 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
django中瀑布流写法实例代码
2019/10/14 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
详解python中的异常捕获
2020/12/15 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
耐克中国官方商城:Nike中国
2018/10/18 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
火山动力Java笔试题
2014/06/26 面试题
大学毕业生通用自我评价
2014/01/05 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
公务员检讨书
2014/11/01 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
Java实战之用Swing实现通讯录管理系统
2021/06/13 Java/Android