使用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实现简单实用的分页类代码

PHP实现简单实用的分页类代码

本文实例讲述了PHP实现简单实用的分页类。分享给大家供大家参考,具体如下: <?php class Page { private $total; //...

php session_start()出错原因分析及解决方法

错误提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter -...

PDO版本问题 Invalid parameter number: no parameters were bound

今天在处理bug的时候发现某一个很奇怪的问题,在执行某类操作的时候会报:Invalid parameter number: no parameters were bound,但是该问题在...

php面向对象中static静态属性和静态方法的调用

本文实例讲述了php中static静态属性和静态方法的调用。分享给大家供大家参考。具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,...

PHP中空字符串介绍0、null、empty和false之间的关系

PHP中空字符串介绍0、null、empty和false之间的关系

如果用错方法函数或是用少了,如果几个方法函数的逻辑顺序错了,很可能就是一个漏洞,而且不容易找出来。纠结啊~ 上网找找看哪位高人有总结出相关的结论出来,果然有!不过似乎不是很全面,我在这里...