zoukankan      html  css  js  c++  java
  • php 求两个文件的相对路径

    网上看了一些这个题的一些解答方法,不过大多数就是对目前需求而定的,比如

    $a = '/a/b/c/d/e.php';
    $b = '/a/d/12/34/c.php';

    getpath($a , $b ); public function getpath($a, $b) { $aarr = explode('/', $a); $barr = explode('/', $b); $count = count($barr) - 2; $pathinfo = ''; for($i = 1; $i <= $count; $i++){ if($aarr[$i] == $barr[$i]){ $pathinfo .= '../'; }else{ $pathinfo .= $barr[$i] . '/'; } } echo $pathinfo; }

    如果改变一下

    $a = '/a/b/c/d/e.php';
    $b = '/a/b/c/34/c.php';
    那么就会有问题出现了,于是自己也写了一个简单的
        function getpath($a,$b)
        {
             $aarr = explode('/', $a);
             $barr = explode('/', $b);
             $flag = true; 
             $count = count($barr) - 2;
             $pathinfo = '';
             for($i = 1; $i <= $count; $i++){
                 if($flag && $aarr[$i] != $barr[$i] ){
                      $pathinfo .= str_repeat('../', $count-$i+1).$aarr[$i].'/';
                      $flag = false;
                  }elseif(!$flag){
                        $pathinfo .= $aarr[$i].'/';
                  }
             }
             return empty($pathinfo)? './' : $pathinfo;
        }
    
        echo getpath($a,$b);
  • 相关阅读:
    hdu 4525(数学)
    hdu 4524(模拟)
    hdu 4523(大整数)
    hdu 4517(递推枚举统计)
    hdu 4520
    hdu 4519(数学题)
    hdu 4514(树的直径+并查集)
    hdu 4510(模拟)
    hdu 2089(数位DP)
    hdu 4506(数学,循环节+快速幂)
  • 原文地址:https://www.cnblogs.com/waited/p/5264023.html
Copyright © 2011-2022 走看看