<?php
//用php求兩個文件的相對路徑
function compara_path($path_a, $path_b) {
//切割路徑.
$array_a =explode('/', $path_a);
$array_b =explode('/', $path_b);
//從數組中刪除最後的文件,剩下的全為文件夾名稱.
$file_a =array_pop($array_a); //array_pop() 彈出並返回 array 數組的最後一個單元
$file_b =array_pop($array_b);
//子目錄個數.
$a_len =count($array_a);
$b_len =count($array_b);
//循環求出第幾個目錄不同.
for ( $i =0; $i < $a_len; $i++ ) {
if ($array_a[$i] != $array_b[$i] ) {
break;
}
}
//求出相對路徑.
$com_path ="";
for ( $j =0; $j < $a_len - $i; $j++ ) {
$com_path .='../';
}
for ( $i; $i< $b_len; $i++ ) {
$com_path .=$array_b[$i] . '/';
}
$com_path .=$file_b;
return $com_path;
}
$path_a = "a/b/c/d/e/f.php";
$path_b = "a/b/z/x/y.php";
echo compara_path($path_a, $path_b);
摘自:小囧的博客