当前位置 : 主页 > 手机开发 > harmonyos >

php计算两个文件的相对路径

来源:互联网 收集:自由互联 发布时间:2023-08-25
?phpfunction getRelativePath($a,$b){$a_str=$b_str='';for($i=0;$istrlen($b);$i++){if($a[$i]!=$b[$i]){$a_str=substr($a,$i);$b_str=substr($b,$i);break;}}$num=substr_count($b_str,"/");//计算/出现的次数return str_repeat("../",$num).$a_str



<?php
function getRelativePath($a,$b){
	$a_str=$b_str='';
	for($i=0;$i<strlen($b);$i++){
		if($a[$i]!=$b[$i]){
			$a_str=substr($a,$i);
			$b_str=substr($b,$i);
			break;
		}
	}
	$num=substr_count($b_str,"/");//计算/出现的次数
	return str_repeat("../",$num).$a_str;
}
function getRelativePath2($urla,$urlb){
    $a_arr=explode("/", trim($urla,"/"));//去掉左边的/并分割
    $b_arr=explode("/", trim($urlb,"/"));
    $count=0; //获取相同路径部分的个数
    $num=min(count($a_arr),count($b_arr));
    //去除相同的部分
    for ($i=0;$i<$num;$i++){
        if ($a_arr[$i]==$b_arr[$i]){
            unset($a_arr[$i]);
            $count++;
        }
        else{
            break;
        }
    }
    //相同部分用../替换
    $relativepath=str_repeat("../", $count).implode("/", $a_arr);
    return $relativepath;
}
$path1 = '/var/www/img/a.php';  
$path2 = '/var/www/api/img/b.php';  
echo(getRelativePath($path1,$path2)).'<br/>';//../../img/a.php
echo(getRelativePath2($path1,$path2)).'<br/>';//../../img/a.php




上一篇:redis作为消息队列实现代码
下一篇:没有了
网友评论