天天看點

求相對路徑的函數

求相對路徑的函數

<?php  

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

$b = '/a/b/12/44/c.php';  

function getrelativepath($a, $b) {  

    $returnpath = array(dirname($b));  

    $arra = explode('/', $a);  

    $arrb = explode('/', $returnpath[0]);  

    for ($n = 1, $len = count($arrb); $n < $len; $n++) {  

        if ($arra[$n] != $arrb[$n]) {  

            break;  

        }   

    }  

    if ($len - $n > 0) {  

        $returnpath = array_merge($returnpath, array_fill(1, $len - $n, '..'));  

    $returnpath = array_merge($returnpath, array_slice($arra, $n));  

    return implode('/', $returnpath);  

}  

echo getrelativepath($a, $b);