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 工程的办法
Dec 03 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
Sep 28 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
PHP生成plist数据的方法
Jun 16 PHP
php文件读取方法实例分析
Jun 20 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
PHP闭包函数详解
Feb 13 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
Laravel中10个有用的用法小结
May 06 PHP
在Laravel 中实现是否关注的示例
Oct 22 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异步多线程swoole用法实例
2014/11/14 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
php中session定期自动清理的方法
2015/11/12 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
详解python里的命名规范
2018/07/16 Python
Python实现基于POS算法的区块链
2018/08/07 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
Python读取yaml文件的详细教程
2020/07/21 Python
Python如何读写字节数据
2020/08/05 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
专业实习自我鉴定
2013/10/29 职场文书
物业招聘计划书
2014/01/10 职场文书
家长评语大全
2014/01/22 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
职业女性的职业规划
2014/03/04 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
材料采购员岗位职责
2015/04/03 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
pandas数值排序的实现实例
2021/07/25 Python