<?php
$path_a = '/root/local/c/d/e.php';
$path_b = '/root/local/12/34/c.php';
$relative_path = getRelativelyPath($path_a, $path_b);
echo $relative_path;
//求$path_b相对于$path_a的相对路径
function getRelativelyPath($path_a, $path_b)
{
//拆分成数组
$path_a = explode('/', $path_a);
$path_b = explode('/', $path_b);
$path = '';
//将两个数组的索引重置
$path_c = array_values(array_diff($path_a, $path_b));
$path_d = array_values(array_diff($path_b, $path_a));
//去除掉path_a路径的文件名
array_pop($path_c);
//将path_a路径中的目录名替换为..
foreach ($path_c as &$v){
$v = '..';
}
//合并两个数组
$path_e = array_merge($path_c, $path_d);
//拼接路径
foreach ($path_e as $v){
$path .= $v . '/';
}
return rtrim($path, '/');
}
PHP 根据两个绝对路径算出相对路径的函数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...