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设计模式之装饰者模式
Feb 29 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
php如何执行非缓冲查询API
Jul 22 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
Linux下 php7安装redis的方法
Nov 01 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 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
html中select语句读取mysql表中内容
2006/10/09 PHP
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
javascript搜索框效果实现方法
2015/05/14 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python tkinter组件使用详解
2019/09/16 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
如何开启linux的ssh服务
2015/02/14 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
调查研究项目计划书
2014/04/29 职场文书
博士生导师推荐信
2014/07/08 职场文书
平安工地汇报材料
2014/08/19 职场文书
教导处教学工作总结
2015/08/12 职场文书
五年级数学教学反思
2016/02/16 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA
一行Python命令实现批量加水印
2022/04/07 Python