使用PHP计算两个路径的相对路径


Posted in PHP onJune 14, 2013
<html>
     <body>
         <?php
             function relativePath($aPath, $bPath) {
                 $aArr = explode('/', $aPath);    //explode函数用于切分字符串,返回切分后的数组,此处用'/'切分字符串
                 $bArr = explode('/', $bPath);
                 $aDiffToB = array_diff_assoc($aArr, $bArr);    //array_diff_assoc()用于获取A数组与B数组之间元素的差集,Key和Value都不相同视为不同元素,此处返回在A数组中且与B数组不相同的元素
                 $count = count($aDiffToB);                 $path = '';
                 for($i = 0; $i < $count - 1; $i++){
                     $path .= '../'; 
                 }
                 $path .= implode('/', $aDiffToB);    //implode()用于使用指定字符串连接数组元素,此处返回用'/'连接数组元素后的字符串
                 return $path;
             }
             echo relativePath('/a/b/c/d/a.php', '/a/b/1/2/b.php');
         ?>
     </body>
 </html>

页面输出
. ./. ./c/d/a.php
PHP 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
yii2 resetful 授权验证详解
May 18 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 PHP
深入解析PHP的引用计数机制
Jun 14 #PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 #PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 #PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 #PHP
PHP操作Memcache实例介绍
Jun 14 #PHP
解析PHP处理换行符的问题 \r\n
Jun 13 #PHP
基于PHP5魔术常量与魔术方法的详解
Jun 13 #PHP
You might like
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
jQuery事件用法详解
2016/10/06 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
python安装Scrapy图文教程
2017/08/14 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
详解Python中namedtuple的使用
2020/04/27 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
工程招投标邀请书
2014/01/30 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
个人工作能力自我评价
2015/03/05 职场文书
消防安全月活动总结
2015/05/08 职场文书
社会实践心得体会范文
2016/01/14 职场文书
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript