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

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP 计算两个文件的相对路径脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

最近看到一个php的面试题,是在知道两个文件的绝对路径的情况下,求出文件1相对于文件2的相对路径。
这个问题,看似很简单,其实真简单,但却思考了很久才解决,变笨了!
下面我们我的方法,写出来,供大家参考,如果有不同意见或者问题,请留言给我:

/**
 * [myRelativePath 计算文件2相对于文件1的相对路径]
 * @param  [string] $file1 [文件1的绝对路径]
 * @param  [string] $file2 [文件2的绝对路径]
 * @return [string]        [文件2相对于文件1的相对路径]
 */
function getRelativePath($file1,$file2){
    //分别对两个文件路径进行分割
    $file1_arr = explode('/', $file1);
    $file2_arr = explode('/', $file2);

    //计算file1文件不同于file2的部分(计算差集)
    $arr1 = array_diff_assoc($file1_arr,$file2_arr);
    $arr2 = array_diff_assoc($file2_arr,$file1_arr);

    $arr1_cnt = count($arr1);
    $str_path = '';
    for($i=0;$i<$arr1_cnt-1;$i++){
        $str_path .='../';
    }
    $path2 = implode('/',$arr2);
    return $str_path . $path2;
}

思路还是很简单,就是先找出相同的部分,然后计算文件1到相同的路径的相对路径,
再然后,拼接文件2相同路径以后的路径。

此文已在本人博客发表地址:码客

脚本宝典总结

以上是脚本宝典为你收集整理的PHP 计算两个文件的相对路径全部内容,希望文章能够帮你解决PHP 计算两个文件的相对路径所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。