求兩個目錄的相對路徑

來源:互聯網
上載者:User
求兩個目錄的相對路徑,不限制路徑深度
  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 < $len; $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. }
複製代碼
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.