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 图像函数大举例(非原创)
Jun 20 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
php一些错误处理的方法与技巧总结
Aug 10 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
php中apc缓存使用示例
Dec 25 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
PHP常用的小程序代码段
Nov 14 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
Yii框架的布局文件实例分析
Sep 04 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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
javascript关于继承解析
2016/05/10 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
Python代理抓取并验证使用多线程实现
2013/05/03 Python
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
有趣的python小程序分享
2017/12/05 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
python实现朴素贝叶斯算法
2018/11/19 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
python with语句的原理与用法详解
2020/03/30 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
活动策划求职信模板
2014/04/21 职场文书
工地标语大全
2014/06/18 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技