使用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 相关文章推荐
支持php4、php5的mysql数据库操作类
Jan 10 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
php实现插入排序
Mar 29 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
PHP运行模式汇总
Nov 06 PHP
php支付宝系列之电脑网站支付
May 30 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 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框架的优缺点对比分析
2014/12/25 PHP
PDO::commit讲解
2019/01/27 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
2015/04/24 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
如何写一个自定义标签
2012/12/28 面试题
路政管理毕业自荐书范文
2014/02/10 职场文书
父母对孩子的寄语
2014/04/09 职场文书
合同协议书格式
2014/04/18 职场文书
中学校园广播稿
2015/08/18 职场文书
担保书格式范文
2015/09/22 职场文书
Python3接口性能测试实例代码
2021/06/20 Python
浅析Python实现DFA算法
2021/06/26 Python