假如現在有兩個路徑:
$a = "/a/b/c/d/test.php";
$b = "/a/b/e/f/other.php";
請用php設計乙個函式,計算出$b相對於$a的路徑。
大致演算法就是:
根據『/』把路徑拆分放進陣列,然後從第乙個開始比較,相同的忽略掉,直到遇到不同的為止。
<?php
$a = "/a/b/c/d/test.php";
$b = "/a/b/e/f/other.php";
//拆分路徑放進陣列:
$_a = explode('/', $a);
$_b = explode('/', $b);
//開始比對陣列,存下不同的部分:
$remain_a = array_diff($_a, $_b);
$remain_b = array_diff($_b, $_a);
//$remain_a = array("c", "d", "test.php");
//$remain_b = array("e", "f", "other.php");
//算出$a路徑的剩餘深度
$count = count($remain_a);
//算出$b剩餘路徑,再合併成路徑形式: $b = "e/f/other.php"
$relative_path_b = join('/', $remain_b);
//計算相對路徑字首
for($i = 0; $i < $count-1; $i++)
$_path =$new . $relative_path_b;
//輸出 ../../e/f/other.php
echo $_path;
php計算相對路徑
計算兩個目錄的相對路徑,網上有好多 發現好多是用array diff assoc這個函式,這樣不對.我來寫乙個簡單的.created by phpstorm.user 優美 date 2019 9 9 time 19 59 function getpath path1,path2 arr1 expl...
路徑詳解 絕對路徑,相對路徑,根相對路徑
路徑詳解 重點 1 絕對路徑 1 什麼是絕對路徑 檔案從最高端目錄下開始的完整路徑 1 訪問網路資源 1 由以下四個部分組成 1 協議名稱 2 主機名 ip位址,網域名稱 3 目錄路徑 4 檔名 ex 1 協議名 2 主機名 網域名稱 3 目錄路徑 img4 檔名 bd logo1.png 2 訪問...
php 絕對路徑相對路徑2
define dedeinc str replace dirname file 是本地路徑,但是由於他與 對於web開發 引入php檔案 1.絕對路徑 絕對路徑是指檔案在硬碟上真正存在的路徑。帶碟符的比如 e book 網頁布 第2章 bg.jpg 使用絕對路徑的缺點 事實上,在網頁程式設計時,很少...