php求两个目录的相对路径示例(php获取相对路径)_PHP
程序员文章站
2022-04-15 12:14:16
...
求两个目录的相对路径,不限制路径深度
复制代码 代码如下:
/**
* 输出$b相对于$a的相对路径($a)
* 不限限制路径深度,没有做什么优化,只是实现功能
*/
function getPath($a, $b)
{
$aArr = explode('/', dirname($a));
$bArr = explode('/', dirname($b));
$aLen = count($aArr);
$bLen = count($bArr);
$len = max($aLen, $bLen);
$k = 0;
for($i = 0; $i {
if($k == 0)
{
if(isset($aArr[$i]) && ($aArr[$i] != $bArr[$i]))
{
$d .= '../';
if(isset($bArr[$i]))
{
$nP[$i] = $bArr[$i];
}
$k = $k + 1;
}
}
else
{
if(isset($aArr[$i]))
{
$d .= '../';
}
if(isset($bArr[$i]))
{
$nP[$i] = $bArr[$i];
}
}
}
echo $d.implode('/', $nP);
}
复制代码 代码如下:
/**
* 输出$b相对于$a的相对路径($a)
* 不限限制路径深度,没有做什么优化,只是实现功能
*/
function getPath($a, $b)
{
$aArr = explode('/', dirname($a));
$bArr = explode('/', dirname($b));
$aLen = count($aArr);
$bLen = count($bArr);
$len = max($aLen, $bLen);
$k = 0;
for($i = 0; $i {
if($k == 0)
{
if(isset($aArr[$i]) && ($aArr[$i] != $bArr[$i]))
{
$d .= '../';
if(isset($bArr[$i]))
{
$nP[$i] = $bArr[$i];
}
$k = $k + 1;
}
}
else
{
if(isset($aArr[$i]))
{
$d .= '../';
}
if(isset($bArr[$i]))
{
$nP[$i] = $bArr[$i];
}
}
}
echo $d.implode('/', $nP);
}