两个文件的相对路径

坚持原创,坚持真实,坚持更新

看到网上很多人的博客代码都是直接复制,有时候想查一个东西的时候,用搜索引擎搜索到的结果不少,但是真正自己写的东西不多,废话少说,开始今天的习题:
题目:$a = "/a/b/c/d/a.gif", $b = "/a/b/21/d/abc.png",请用函数计算出两者不同路径的部分。

<?php
//题目:$a = "/a/b/c/d/a.gif", $b = "/a/b/21/d/abc.png",请用函数计算出$b相对于$a的路径。
function getpath($a, $b)
{
    $arr = explode("/", $a);
    $brr = explode("/", $b);
    //计算数组的长度为一会的for循环做准备
    $alen = count($arr) - 1;
    $blen = count($brr) - 1;
    $leng = ($alen - $blen) > 0 ? $blen : $alen;
    $str1 = $str2 = "";
    for ($i = 0; $i < $leng; $i++) {
        $cur_a = isset($arr[$i]) ? $arr[$i] : '';
        $cur_b = isset($brr[$i]) ? $brr[$i] : '';
        if ($cur_a == $cur_b) {
            $path .= "../";
            continue;
        } else {
            if ($i <= $alen){
                $str1 .='/'.$cur_a;
            }
            if ($i <= $blen){
                $str2 .="../";
            }
        }
    }
    return $str2 . substr($str1,1,strlen($str1));
}
echo getpath("/a/b/c/d/a.gif","/a/b/21/d/abc.png");
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值