PHP获取当前文件的父目录方法汇总


Posted in PHP onJuly 21, 2016

方法一:先获得当前文件所在文件夹的长度,然后用substr来截取掉该长度:

 $dirName = str_replace("\\", "/", dirname(__FILE__));

 $dirNameLength = strlen($dirName);

 $currentDirNameLength = $dirNameLength - strrpos($dirName,"/"); //获得当前文件所在文件夹的长度!

 $parentDirName = substr($dirName,0,-$currentDirNameLength); //第3个参数如果为负数,那么表示从后面截取掉【该参数的绝对值】个字符。

方法二:将当前文件所在文件夹当作一个文件(文件夹其实是特殊的文件,一切皆为文件!!),直接用dirname嵌套一次dirname即可:

$parentDirName = dirname(dirname(__FILE__));

从上可以看出:对事物的深刻认识,能大幅度提高代码质量!

附上:PHP获取路径或目录实现

PHP获取目录和的方法通过魔术变量;通过超级全局变量;通过相关函数等等:

<?php
/**
 * PHP获取路径或目录实现
 */
 
//魔术变量,获取当前文件的绝对路径
echo "__FILE__: ========> ".__FILE__; 
echo '<br/>';
 
//魔术变量,获取当前脚本的目录
echo "__DIR__: ========> ".__DIR__;
echo '<br/>';
 
//dirname返回路径的目录部分,dirname(__FILE__)相当于__DIR__
echo "dirname(__FILE__): ========> ".dirname(__FILE__);
echo '<br/>';
 
//$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的结果一般相同,他们都是获取当前脚本的文件名
//只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了
echo '$_SERVER["PHP_SELF"]: ========> '.$_SERVER['PHP_SELF'];
echo '<br/>';
 
echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME'];
echo '<br/>';
 
//当前执行脚本的绝对路径。记住,在CLI方式运行php是获取不到的
echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME'];
echo '<br/>';
 
//当前运行脚本所在的文档根目录。在服务器配置文件中定义。
echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT'];
echo '<br>';
 
//getcwd()返回当前工作目录
echo "getcwd(): ========> ".getcwd();
echo '<br>';
PHP 相关文章推荐
PHP安装问题
Oct 09 PHP
同时提取多条新闻中的文本一例
Oct 09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
利用php输出不同的心形图案
Apr 22 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
PHP7新增函数
Mar 09 PHP
功能强大的php分页函数
Jul 20 #PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 #PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 #PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 #PHP
无需数据库在线投票调查php代码
Jul 20 #PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 #PHP
php自定义函数实现二维数组排序功能
Jul 20 #PHP
You might like
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
使用phpQuery采集网页的方法
2013/11/13 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP count()函数讲解
2019/02/03 PHP
js随机颜色代码的多种实现方式
2013/04/23 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
原生js开发的日历插件
2017/02/04 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python字符串的方法与操作大全
2018/01/30 Python
Python遍历pandas数据方法总结
2018/02/09 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
毕业生的自我评价范文
2013/12/31 职场文书
高三体育教学反思
2014/01/29 职场文书
同学聚会主持词
2014/03/18 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
工作后的感想
2015/08/07 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript