使用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
动态生成gif格式的图像要注意?
Oct 09 PHP
php 处理上百万条的数据库如何提高处理查询速度
Feb 08 PHP
PHP中删除变量时unset()和null的区别分析
Jan 27 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
php远程下载类分享
Apr 13 PHP
24条货真价实的PHP代码优化技巧
Jul 28 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
php基于协程实现异步的方法分析
Jul 17 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 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
基于mysql的论坛(5)
2006/10/09 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
Python设计模式之代理模式实例
2014/04/26 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python3 Random模块代码详解
2017/12/04 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
师范生实习自我鉴定
2013/11/01 职场文书
行政部总经理岗位职责
2014/01/04 职场文书
公务员综合考察材料
2014/02/01 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
单位授权委托书范本
2014/09/26 职场文书
趣味运动会开幕词
2015/01/28 职场文书
保护环境建议书作文400字
2015/09/14 职场文书