例:
a=‘/a/b/c/d/e.php′;b = ‘/a/b/12/34/c.php’;
二者的相对路径结果为:/a/b/12/34/../../c/d/e.php
//计算出$b相对于$a的相对路径:
function getRelativePath($a,$b){
$returnPath = array(dirname($b));
$arrA = explode('/', $a);
$arrB = explode('/', $returnPath[0]);
for($i= 0 ,$len = count($arrB);$i<$len;$i++){
if ($arrA[$i]!=$arrB[$i]) {
break;
}
}
if ($len-$i>0) {
$returnPath = array_merge($returnPath,array_fill(1,$len-$i, '..'));
}
$returnPath = array_merge($returnPath,array_slice($arrA, $i));
// echo implode('/', $returnPath);
return implode('/', $returnPath);
}
本文介绍了一个PHP函数,用于计算两个文件路径之间的相对路径。通过分解路径并比较共同部分,该函数能够有效地得出从一个文件到另一个文件所需的相对路径。
348

被折叠的 条评论
为什么被折叠?



