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 相关文章推荐
在Windows中安装Apache2和PHP4的权威指南
Oct 09 PHP
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
php实现删除空目录的方法
Mar 16 PHP
php如何连接sql server
Oct 16 PHP
PHP文件上传类实例详解
Apr 08 PHP
PHPMailer发送邮件
Dec 28 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
PHP检查URL包含特定字符串实例方法
Feb 11 PHP
PHP中echo与print区别点整理
Mar 09 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
Python扩展内置类型详解
2018/03/26 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
耐克美国官网:Nike.com
2016/08/01 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
见习期自我鉴定
2014/01/31 职场文书
教师节演讲稿
2014/05/06 职场文书
第二课堂活动总结
2014/05/07 职场文书
服装设计师求职信
2014/06/04 职场文书
任命书格式
2014/06/05 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
银行求职自荐信范文
2015/03/04 职场文书
靠谱的活动总结
2019/04/16 职场文书
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang