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

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

  

复制代码 代码如下:

  /**

  * 输出$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);

  }