<?php
/**
* 計算文件2相對於文件1的相對路徑
*
* @param string $file1 文件1的絕對路徑
* @param string $file2 文件2的絕對路徑
* @return string 文件2相對於文件1的相對路徑
*/
function getRelativePath($file1, $file2)
{
$file1Arr = explode('/', $file1);
$file2Arr = explode('/', $file2);
return str_repeat('../', count(array_diff_assoc($file1Arr, $file2Arr)) -1) . implode('/', array_diff_assoc($file2Arr, $file1Arr));
}
//輸出../Downloads/source/c.php
echo getRelativePath('/Users/mac/www/a.php', '/Users/mac/Downloads/source/c.php');
//輸出../../25/67/b.php
echo getRelativePath('/a/b/c/d/e.php', '/a/b/25/67/b.php');
?>