求相对路径的函数,写一个函数,算出两个文件的相对路径如 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; 计算出 $b 相对于 $a 的相路径。
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
//求$b相对于$a的相对路径 function getRelativelyPath($a, $b) { //拆分成数组 $a = explode('/', $a); $b = explode('/', $b); $path = ''; //将两个数组的索引重置 $c = array_values(array_diff($a, $b)); $d = array_values(array_diff($b, $a)); //去除掉a路径的文件名 array_pop($c); //将a路径中的目录名替换为.. foreach ($c as &$v) $v = '..'; //合并两个数组 $e = array_merge($c, $d); //拼接路径 foreach ($e as &$v) $path .= $v . '/'; return rtrim($path, '/'); }