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

<?php
/**
 * 计算两个文件的相对路径
 */
function relative_path($path1, $path2)
{
    $arr1 = explode('/', dirname($path1));
    $arr2 = explode('/', dirname($path2));
    for ($i = 0, $len = count($arr2); $i < $len; $i++) {
        if ($arr1[$i] != $arr2[$i]) {
            break;
        }
    }
    //不在用一个根目录下面
    if ($i == 1) {
        $return_path = array();
    }
    //在同一个根目录下
    if ($i != 1 && $i < $len) {
        $return_path = array_fill(0, $len - $i, "..");
    }
    #在同一个目录下
    if ($i == $len) {
        $return_path = array("./");
    }
    $return_path = array_merge($return_path, array_slice($arr1, $i));
    return implode('/', $return_path);
}
//测试一下
$a = '/a/b/chttps://img.wentong.org/?/d/e.php';
$b = '/a/b/12/34/c.php';
echo relative_path($a, $b);

  

文章来源: php 计算两个文件的相对路径

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:php 计算两个文件的相对路径