使用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 session常见问题集锦及解决办法总结
Mar 18 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
PHP 组件化编程技巧
Jun 06 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
php删除数组元素示例分享
Feb 17 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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实现HTTP断点续传的方法
2015/06/17 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
初识Javascript小结
2015/07/16 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
Python中的多重装饰器
2015/04/11 Python
多版本Python共存的配置方法
2017/05/22 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
python如何保存文本文件
2020/06/07 Python
pandas按条件筛选数据的实现
2021/02/20 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
喝酒驾驶检讨书
2014/10/01 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
绿里奇迹观后感
2015/06/15 职场文书
决心书格式及范文
2019/06/24 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
详解Vue router路由
2021/11/20 Vue.js
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript