PHP计算两个绝对路径的相对路径

it2022-07-04  193

用PHP计算两个绝对路径的相对路径,该如何求呢?

 先根据分隔符切割,然后查找相同 异同点,然后开始有相同点,从相同点结束为止开始拼接剩余部分,没有的话,到达根路径拼接整体。 

截图如下:

代码如下:

<?php $a = '/a/b/c/d/e.php'; $b='/a/b/12/34/c.php'; var_dump(getRelativePath($a,$b)); exit(); function getRelativePath($a,$b) { $arrA = explode('/',$a); $arrB = explode('/',$b); for ($n = 1,$len = count($arrB);$n<$len;$n++) { if($arrA[$n] != $arrB[$n]) { break; } } if($len - $n > 0){ $return = array_fill(1,$len-$n,'..'); } $return = array_merge($return,array_slice($arrA,$n)); return implode('/',$return); }

 

转载于:https://www.cnblogs.com/lizhaoyao/p/8759853.html


最新回复(0)