欢迎光临朱凯的个人博客!
朱凯,a3.work

写一个函数,算出两个文件的相对路径

 发布时间: 2016-12-21 10:09      原创:  朱凯      评论: .       .人查看

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

计算出 $b 相对于 $a 的相对路径应该是 ../../c/d

废话不多说,直接上代码:

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);
分享是一种快乐,也是一种美德:
¥打开支付宝,扫码领红包¥ 红包

支付宝 aliPay

微信 wxPay