ホームページ  >  記事  >  バックエンド開発  >  2 つのディレクトリの相対パスを検索します。

2 つのディレクトリの相対パスを検索します。

WBOY
WBOYオリジナル
2016-07-25 08:48:34967ブラウズ
パスの深さを制限せずに 2 つのディレクトリの相対パスを検索します
  1. /**
  2. * $a ($a) を基準とした $b の相対パスを出力します
  3. * パスの深さの制限なし、最適化なし、関数の実装のみ
  4. */
  5. function getPath($a, $b)
  6. {
  7. $aArr = destroy('/', dirname($a));
  8. $bArr = 爆発('/', 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. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。