在同乙個根目錄下有兩個目錄
a的路徑為 '/a/b/c/d/e.php';
b的路徑為 '/a/b/12/34/c.php';
a相對於b的路徑為 ../../12/34
b相對於a的路徑為 ../../c/d
相對於誰就是以誰就是基準點,參照物, 通過基準點 找到另乙個的路徑
<?php$a='/a/b/c/d/e.php';
$b='/a/b/12/34/c.php';
/** * 相對路徑計算
* * @param [type] $a 基準點,參照物
* @param [type] $b
* @return void
*/function relative($a, $b) }
$relpath=$up.$path;
echo trim($relpath,'/').php_eol;
}relative($a, $b);
relative($b, $a);
以上**存在錯誤,下面為改進版
<?php// a相對於b的路徑,是在 a裡面找到b;還是在b裡面找到a,這個首先要確定
// 這裡按照b裡面找到a的原則進行計算
$a = '/a/b/c/d/a.php';
$b='/a/b/1/2/b.php';
/** * 計算$a相對於$b的相對路徑
* @param string $a
* @param string $b
* @return string
*/function getrelativepath($a, $b)
// 計算b需要返回幾層可以到達相同路徑
$relativepath .= str_repeat('../', count($pathb) - $n);
// 計算a去掉相同路徑後的位址
$relativepath .= implode('/', array_splice($patha, $n));
// 返回a相對於b的路徑位址
return $relativepath;
}$res = getrelativepath($a, $b);
// $res = getrelativepath($b, $a);
var_dump($res);
參考 :
php計算相對路徑
計算兩個目錄的相對路徑,網上有好多 發現好多是用array diff assoc這個函式,這樣不對.我來寫乙個簡單的.created by phpstorm.user 優美 date 2019 9 9 time 19 59 function getpath path1,path2 arr1 expl...
java 相對路徑問題
今天在改寫solr的時候想本地除錯,解決發現有一段使用相對路徑的 不能獲得這個檔案,報ioexception。檢查了一下檔案,的確在那個目錄,user.dir也已經指定到那個目錄了。可以通過new file getabsolutepath獲取當前路徑,也和user.dir想對應。百思不得其解,然後搜...
路徑詳解 絕對路徑,相對路徑,根相對路徑
路徑詳解 重點 1 絕對路徑 1 什麼是絕對路徑 檔案從最高端目錄下開始的完整路徑 1 訪問網路資源 1 由以下四個部分組成 1 協議名稱 2 主機名 ip位址,網域名稱 3 目錄路徑 4 檔名 ex 1 協議名 2 主機名 網域名稱 3 目錄路徑 img4 檔名 bd logo1.png 2 訪問...