使用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 相关文章推荐
如何获得PHP相关资料
Oct 09 PHP
php中对xml读取的相关函数的介绍一
Jun 05 PHP
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
May 04 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
Vue 获取数组键名的方法
2018/06/21 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
python随机生成指定长度密码的方法
2015/04/04 Python
python中as用法实例分析
2015/04/30 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
《燕子》教学反思
2014/02/18 职场文书
书香校园活动方案
2014/02/28 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
装修公司管理制度
2015/08/05 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫