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 相关文章推荐
PHP4(windows版本)中的COM函数
Oct 09 PHP
详解:――如何将图片储存在数据库里
Dec 05 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
php中变量及部分适用方法
Mar 27 PHP
Zend Framework页面缓存实例
Jun 25 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
php上传图片并压缩的实现方法
Dec 22 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
一段php加密解密的代码
2006/10/09 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
joomla数据库操作示例代码
2016/01/06 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
javascript两段代码,两个小技巧
2010/02/04 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
JS实现字符串翻转的方法分析
2018/08/31 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
python logging通过json文件配置的步骤
2020/04/27 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
ORACLE十问
2015/04/20 面试题
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
自我评价200字分享
2013/12/17 职场文书
银行服务感言
2014/03/01 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
体育活动总结
2015/02/04 职场文书
故意伤害辩护词
2015/05/21 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
靠谱的活动总结
2019/04/16 职场文书