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 最大运行时间 max_execution_time修改方法
Mar 08 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
php返回json数据函数实例
Oct 09 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
示例详解Laravel的注册重构
Aug 14 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
php连接mysql数据库
Mar 21 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
php工具型代码之印章抠图
Jul 18 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 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 时间日期操作实战
2011/08/26 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
下载给定网页上图片的方法
2014/02/18 Python
Python转换HTML到Text纯文本的方法
2015/01/15 Python
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python实现操作文件(文件夹)
2019/10/31 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
幼儿园中班新学期寄语
2014/01/18 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
关键在于落实心得体会
2014/09/03 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
2015国庆节感想
2015/08/04 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL