<?php
$a = 'aa/bb/cc/dd/a.php';
$b = 'aa/bb/11/22/33/b.php';
function getRelativePath($a, $b) {
$aArr = explode ( '/', $a );
$bArr = explode ( '/', $b );
$aLen = count ( $aArr );
$bLen = count ( $bArr );
$maxLen = $aLen > $bLen ? $aLen : $bLen;
$i = 0;
$bPath = $aPath = array();
while ( true ) {
if ($aArr [$i] == $bArr [$i]) {
$i ++;
} else {
break;
}
}
for($j = $i; $j < $maxLen; $j ++) {
if (isset ( $aArr [$j] )) {
if ($j < $aLen - 1) {
$aPath [] = $aArr [$j];
} else {
$aPath [] = basename ( $a );
}
}
if (isset ( $bArr [$j] ))
$bPath [] = '..';
}
$pathArr = array_merge ( $bPath, $aPath );
return implode ( '/', $pathArr );
}
echo getRelativePath ( $a, $b );
php求两个文件的相对路径
最新推荐文章于 2021-03-19 03:26:09 发布