• 我的位置: 首頁 > 學習專區 > PHP技術 > PHP面試題之[求相對路徑]

    PHP面試題之[求相對路徑]

    2013-01-23 14:30:40
    來源:
    [導讀] 題目:寫一個函數,算出兩個文件的相對路徑如 $a = ‘ a b c d e php’; $b = ‘ a b 12 34 c php’; 計算出

    題目:寫一個函數,算出兩個文件的相對路徑如 $a = ‘/a/b/c/d/e.php’; $b = ‘/a/b/12/34/c.php’; 計算出 $b 相對于 $a 的相對路徑應該是 ../../c/d

    function getRelative($a , $b)

    {

    $arr_a = explode(“/” , $a) ;

    $brr_b = explode(“/” , $b) ;

    $i = 1 ;

    while (true) {

    if($arr_a[$i] == $brr_b[$i]) {

    $i ++ ;

    } else {

    break ;

    }

    }

    $c = count($brr_b) ;

    $d = count($arr_a) ;

    $e = ($c>$d)?$c:$d ;

    $str1 = ” ;

    $str2 = ” ;

    for ($j = $i ;$j<$e ;$j++) {

    if(isset($arr_a[$j])) {

    if($j<($d-1)){

    $str1 .= $arr_a[$j] . “/” ;

    } else {

    $str1 .= $arr_a[$j] ;

    }

    }

    if(isset($brr_b[$j])) {

    $str2 .= “../” ;

    }

    }

    return $str2 . $str1 ;

    }

    $a = “/c/b/c/d/k/h/t/e.php” ;

    $b = “/a/b/e/f/h.php” ;

    $relative = getRelative($a,$b) ;

    var_dump($relative);

    ?>

    運行結果:string(34) “../../../../../c/b/c/d/k/h/t/e.php”

    大家都關注:
    評論
    熱點專題
    >>
    相關文章推薦
    >>
    国产高清一区二区三区四区皇冠,啊灬啊灬啊灬快好喷水网站,少妇水多A片大爽了,少妇被粗大的猛烈进出18动态图,破苞XXXX出血,亚洲性xo