使用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 相关文章推荐
BBS(php &amp; mysql)完整版(八)
Oct 09 PHP
php的memcached客户端memcached
Jun 14 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
基于PHP对XML的操作详解
Jun 07 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
php编程每天必学之表单验证
Mar 01 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
Yii框架的布局文件实例分析
Sep 04 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维护文件系统
2006/10/09 PHP
PHP中函数内引用全局变量的方法
2008/10/20 PHP
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
PHP 断点续传实例详解
2017/11/11 PHP
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
详解python进行mp3格式判断
2016/12/23 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
Django中使用Celery的方法示例
2018/11/29 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
结婚通知短信大全
2015/04/17 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
员工担保书范本
2015/09/22 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python
Mysql如何查看是否使用到索引
2022/12/24 MySQL