一道求$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与MySQL开发中页面出现乱码的一种解决方法
Jul 29 PHP
PHP网站基础优化方法小结
Sep 29 PHP
PHP 危险函数全解析
Sep 09 PHP
解析PHP中empty is_null和isset的测试
Jun 29 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
详解PHP中的null合并运算符
Dec 30 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
phpcms配置列表页以及获得文章发布时间
Jul 04 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
Oct 14 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
Mar 22 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读取文件内容的几种方法详解
2013/06/26 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
python利用lxml读写xml格式的文件
2017/08/10 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
pandas 对group进行聚合的例子
2019/12/27 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
IBatis持久层技术
2016/07/18 面试题
UNIX文件类型
2013/08/29 面试题
微笑面对生活演讲稿
2014/09/23 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
讲文明倡议书
2015/04/29 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python