使用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 相关文章推荐
让你同时上传 1000 个文件 (二)
Oct 09 PHP
Discuz!下Memcache缓存实现方法
May 28 PHP
Apache服务器无法使用的解决方法
May 08 PHP
解析php中curl_multi的应用
Jul 17 PHP
php中apc缓存使用示例
Dec 25 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
功能强大的PHP发邮件类
Aug 29 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
PHP chunk_split()函数讲解
Feb 12 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 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
javascript new一个对象的实质
2010/01/07 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
Python实现仿射密码的思路详解
2020/04/23 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
想学画画?python满足你!
2020/12/24 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
2014年商场工作总结
2014/11/22 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书