php代碼實現 兩個目錄之間的相對路徑

來源:互聯網
上載者:User
/** * 擷取兩個路徑之間的相對路徑 * @param $path1  路徑1 * @param $path2  路徑2 * @return 返回相對路徑或者false(在同一個目錄下) */function relativePath($path1, $path2){    // 將各自的路徑(不包含檔案)存放到array數組中    $arr1 = explode('/', dirname($path1));    $arr2 = explode('/', dirname($path2));    // 遍曆數組    $len = count($arr2);    for ($i = 0; $i < $len; $i++) {        if ($arr1[$i] != $arr2[$i]) {            break;        }    }    if ($i < $len) {        // 不是相同的目錄,返回相對路徑        $return = array_fill(0, $len - $i, ".."); // 用'..'去填充相同的$len-$i個路徑        $relativePath = array_merge($return, array_slice($arr1, $i));  // 取出$i開始的不同的路徑        return implode('/', $relativePath);  // 數組變成字串返回    } else {        // 相同的目錄,直接返回false        return false;    }}dirname():去掉路徑中的檔案,只留目錄array_fill():array_merge():array_slice():
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.