一道求$b相对于$a的相对路径的php代码


Posted in PHP onAugust 08, 2010

php面试题的题目:
$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //计算出 $b 相对于 $a 的相对路径应该是 ../../c/d

php面试题的答案:

function getRelative($a,$b) { 
$arr = explode("/",$a); 
$brr = explode("/",$b); 
$c = count($arr)-2; 
$d = count($brr)-2; 
//之所以减二,一个是不在后面的文件名, 
//一个是数组的索引是从0开始的,比数组中的第一维的个数要小一 
$e = ($c>$d) ? $c:$d; 
$str1 = $str2 = ''; 
for ($j=0;$j<=$e;$j++) { 
$cur_a = isset($arr[$j]) ? $arr[$j] : ''; 
$cur_b = isset($brr[$j]) ? $brr[$j] : ''; 
if ($cur_a == $cur_b) { 
continue; 
} else { 
if ($j <= $c) 
{ 
$str1.='/'.$cur_a; 
} 
if ($j <= $d ) 
{ 
$str2.="../"; 
} 
} 
} 
return $str2.substr($str1,1,strlen($str1)); 
}
PHP 相关文章推荐
谈谈新手如何学习PHP
Dec 23 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
php实现文件上传基本验证
Mar 04 PHP
PHP实现页面静态化深入讲解
Mar 04 PHP
字母顺序颠倒而单词顺序不变的php代码
Aug 08 #PHP
PHP通过header实现文本文件下载的代码
Aug 08 #PHP
php下保存远程图片到本地的办法
Aug 08 #PHP
用PHP实现递归循环每一个目录
Aug 08 #PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 #PHP
PHP下对数组进行排序的函数
Aug 08 #PHP
PHP 冒泡排序算法的实现代码
Aug 08 #PHP
You might like
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
php下封装较好的数字分页方法
2010/11/23 PHP
Php图像处理类代码分享
2012/01/19 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
PHP制作万年历
2015/01/07 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
Node.js事件驱动
2015/06/18 Javascript
JavaScript中的闭包
2016/02/24 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
由面试题加深对Django的认识理解
2019/07/19 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
营销与策划应届生求职信
2013/11/04 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
失职检讨书大全
2015/01/26 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
三八节活动简报
2015/07/20 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python