zoukankan      html  css  js  c++  java
  • 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/c/d/e.php';
    $b = '/a/b/12/34/c.php';
    echo relative_path($a, $b);
    

      

    如果本文章已帮助到您!

  • 相关阅读:
    【leetcode】N叉树的前序遍历
    【leetcode】第 N 个泰波那契数
    【leetcode】下一个更大元素 I
    【leetcode】Nim 游戏
    【leetcode】非递减数列
    053-208
    053-211
    053-56
    053-53
    053-236
  • 原文地址:https://www.cnblogs.com/handle/p/9232672.html
Copyright © 2011-2022 走看看