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的栏目导航程序
Oct 09 PHP
详解:――如何将图片储存在数据库里
Dec 05 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
php实现过滤表单提交中html标签的方法
Oct 17 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 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
laravel实现Auth认证,登录、注册后的页面回跳方法
2019/09/30 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
微信小程序云开发之使用云数据库
2019/05/17 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
python批量修改文件后缀示例代码分享
2013/12/24 Python
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
聊聊Python中的pypy
2018/01/12 Python
python安装教程
2018/02/28 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
语文教育专业应届生求职信
2013/11/23 职场文书
往来会计岗位职责
2013/12/19 职场文书
校园招聘策划书
2014/01/09 职场文书
具结保证书
2015/01/17 职场文书
go语言求任意类型切片的长度操作
2021/04/26 Golang
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL
Python Pandas 删除列操作
2022/03/16 Python