使用PHP求两个文件的相对路径

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

function compare($ph1,$ph2){
    $ret = '';
    $_f1Arr = explode("/",$ph1);
    $_f2Arr = explode("/",$ph2);

    $f1 = array_pop($_f1Arr);
    $f2 = array_pop($_f2Arr);
    for($i=0;$i<count($_f1Arr);$i++){
        if($_f1Arr[$i] !== $_f2Arr[$i])
            break;
    }
    for($j= $i-1;$j<count($_f1Arr);$j++){
       $ret .= "../";
    }

    for($i-1;$i<count($_f2Arr);$i++){
       $ret .= $_f2Arr[$i].'/';
    }
    return $ret.$f2;
}
$file1 = "aaa/ddd/ccc/ddd/test/a.js";
$file2 = "aaa/ddd/ccc/ddd/test/b.js";
echo compare($file1,$file2);
?>

B对于A的相对路径。。。

相关文章

将PHP从5.3.28升级到5.3.29时Nginx出现502错误

今天将PHP从5.3.28升级到5.3.29,发现网站打不开了,提示”502 bad gateway”,访问静态资源可以,但访问任何PHP文件都会502。 其实之前也发现这个问题,只是一...

PHP实现通过二维数组键值获取一维键名操作示例

本文实例讲述了PHP实现通过二维数组键值获取一维键名操作。分享给大家供大家参考,具体如下: 有如下既定数组: $inviteType = [ '扫码' => [...

PHP实现在数据库百万条数据中随机获取20条记录的方法

本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法。分享给大家供大家参考,具体如下: 额,为什么要写这个? 在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中...

PHP中返回引用类型的方法

返回引用,在定义和调用的时候 & 都不可以省略。 这是个比较容易混淆的概念,如果不是出于某些特殊的原因,建议还是不要使用。 说他很容易混,是因为 Reference 在 PHP5 中的变...

探讨:如何编写PHP扩展

探讨:如何编写PHP扩展

用C/C++扩展PHP的优缺点:优点:效率,还是效率减少PHP脚本的复杂度, 极端情况下, 你只需要在PHP脚本中,简单的调用一个扩展实现的函数,然后你所有的功能都就被扩展实现了而缺点也...