php求两个目录的相对路径示例(php获取相对路径)

时间:2021-12-05 16:58:43

求两个目录的相对路径,不限制路径深度

复制代码 代码如下:

/**
 * 输出$b相对于$a的相对路径($a)
 * 不限限制路径深度,没有做什么优化,只是实现功能
 */
function getPath($a, $b)
{
 $aArr = explode('/', dirname($a));
 $bArr = explode('/', dirname($b));

 $aLen = count($aArr);
 $bLen = count($bArr);

 $len = max($aLen, $bLen);

 $k = 0;

 for($i = 0; $i < $len; $i++)
 {
 if($k == 0)
 {
 if(isset($aArr[$i]) && ($aArr[$i] != $bArr[$i]))
 {
 $d .= '../';

 if(isset($bArr[$i]))
 {
 $nP[$i] = $bArr[$i];
 }

 $k = $k + 1;
 }
 }
 else
 {
 if(isset($aArr[$i]))
 {
 $d .= '../';
 }
 if(isset($bArr[$i]))
 {
 $nP[$i] = $bArr[$i];
 }
 }
 }

 echo $d.implode('/', $nP);
}