欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php计算两个文件相对路径的方法 例如:计算出 $b 相对于 $a 的相对路径

程序员文章站 2022-05-09 22:55:27
...
    $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 php