$a="http://www.cnblogs.com/a/b/c/d/e.php";
$b="http://www.cnblogs.com/a/b/12/34/c.php";
$info_a = parse_url($a);//拆解url
$info_b = parse_url($b);//拆解url
$path_a = ltrim($info_a['path'],'/');//函数移除字符串左侧的空白字符或其他预定义字符。
$path_b = ltrim($info_b['path'],'/');//函数移除字符串左侧的空白字符或其他预定义字符。
$path_a = dirname($path_a);//该函数返回去掉文件名后的目录名。
$path_b = dirname($path_b);//该函数返回去掉文件名后的目录名。
$arr_a = explode('/',$path_a);// 转为数组
$arr_b = explode('/',$path_b);// 转为数组
//定义两个新数组
$pathinfo2 = array();
$pathinfo3 = array();
$is_true = false;
for ($i=0;$i<count($arr_a);$i++){
if ($arr_a[$i] !== $arr_b[$i]) {
$pathinfo2[] = '..';
if (!$is_true) {
for ($j = $i; $j < count($arr_b); $j++) {
$pathinfo3[] = $arr_b[$j];
}
$is_true = true;
}
}
}
$len_string = implode('/',array_merge($pathinfo2,$pathinfo3));
var_dump($len_string);
php计算两个文件相对路径的方法 例如:计算出 $b 相对于 $a 的相对路径
最新推荐文章于 2024-09-10 08:26:51 发布
这段代码主要展示了如何使用PHP的`parse_url`函数解析URL,并通过`ltrim`和`dirname`获取路径部分。接着,它比较了两个URL路径的相似性,通过`explode`转换为数组并找出不同之处。最后,将不同部分用'..'表示并合并成新的路径字符串。
摘要由CSDN通过智能技术生成