使用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加MYSQL服务器
Oct 09 PHP
php对gzip文件或者字符串解压实例参考
Jul 25 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
PHP用mysql数据库存储session的代码
Mar 05 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
利用PHP实现智能文件类型检测的实现代码
Aug 02 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
php获取目标函数执行时间示例
Mar 04 PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 PHP
php文件下载处理方法分析
Apr 22 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
php DES加密算法实例分析
Sep 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
下载文件的点击数回填
2006/10/09 PHP
PHP 递归效率分析
2009/11/24 PHP
PHP中的替代语法介绍
2015/01/09 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
js实现简单点赞操作
2020/03/17 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
python字典多条件排序方法实例
2014/06/30 Python
Python2.x与Python3.x的区别
2016/01/14 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
python打造爬虫代理池过程解析
2019/08/15 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
党校培训自我鉴定
2014/02/01 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
初三语文教学计划
2015/01/22 职场文书
2015年仓库工作总结
2015/04/09 职场文书
现场施工员岗位职责
2015/04/11 职场文书
高考1977观后感
2015/06/04 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python