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 相关文章推荐
在apache下限制每个虚拟主机的并发数!!!!
Oct 09 PHP
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
Oct 23 PHP
php获取一个变量的名字的方法
Sep 05 PHP
php实现Session存储到Redis
Nov 11 PHP
学习php设计模式 php实现适配器模式
Dec 07 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
laravel框架添加数据,显示数据,返回成功值的方法
Oct 11 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 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如何将log信息写入服务器中的log文件
2015/07/29 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
JavaScript实现多球运动效果
2020/09/07 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python生成式的send()方法(详解)
2017/05/08 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
网页设计个人找工作求职信
2013/11/28 职场文书
高中生物教学反思
2014/02/05 职场文书
工程项目建议书范文
2014/03/12 职场文书
气象学专业个人求职信
2014/03/15 职场文书
工会换届选举方案
2014/05/21 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
2014年终工作总结范本
2014/12/15 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
通知函格式范文
2015/04/27 职场文书
中学生运动会广播稿
2015/08/19 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle