使用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脚本中include文件出错解决方法
Nov 20 PHP
PHP 文件类型判断代码
Mar 13 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
php cli换行示例
Apr 22 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
PHP中比较时间大小实例
Aug 21 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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
合作指挥官:孟斯克
2020/03/16 星际争霸
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php中Smarty模板初体验
2011/08/08 PHP
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
使用python解析xml成对应的html示例分享
2014/04/02 Python
Python实现的二维码生成小软件
2014/07/11 Python
Python MySQLdb Linux下安装笔记
2015/05/09 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python3实现飞机大战游戏
2020/04/24 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
HTML5制作表格样式
2016/11/15 HTML / CSS
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
北京银河万佳Java面试题
2012/03/21 面试题
业务副厂长岗位职责
2014/01/03 职场文书
消防安全管理制度
2014/02/01 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
中班幼儿评语大全
2014/04/30 职场文书
大学生实习证明范本
2014/09/19 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
Python time库的时间时钟处理
2021/05/02 Python