欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求两个目录的相对路径

程序员文章站 2022-05-03 14:36:35
...
求两个目录的相对路径,不限制路径深度
  1. /**
  2. * 输出$b相对于$a的相对路径($a)
  3. * 不限限制路径深度,没有做什么优化,只是实现功能
  4. */
  5. function getPath($a, $b)
  6. {
  7. $aArr = explode('/', dirname($a));
  8. $bArr = explode('/', dirname($b));
  9. $aLen = count($aArr);
  10. $bLen = count($bArr);
  11. $len = max($aLen, $bLen);
  12. $k = 0;
  13. for($i = 0; $i
  14. {
  15. if($k == 0)
  16. {
  17. if(isset($aArr[$i]) && ($aArr[$i] != $bArr[$i]))
  18. {
  19. $d .= '../';
  20. if(isset($bArr[$i]))
  21. {
  22. $nP[$i] = $bArr[$i];
  23. }
  24. $k = $k + 1;
  25. }
  26. }
  27. else
  28. {
  29. if(isset($aArr[$i]))
  30. {
  31. $d .= '../';
  32. }
  33. if(isset($bArr[$i]))
  34. {
  35. $nP[$i] = $bArr[$i];
  36. }
  37. }
  38. }
  39. echo $d.implode('/', $nP);
  40. }
复制代码