php-getRelativePath PHP计算文件的相对路径
在程序中经常会用到相对路径,这里写个函数。
[关键词] parse_url1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19function abpath($a, $b) {
    $ainfo = parse_url($a);
    $binfo = parse_url($b);
    $apath = ltrim($ainfo['path'], '/');
    $bpath = ltrim($binfo['path'], '/');
    $arr = explode('/',$apath);
    $brr = explode('/',$bpath);
    foreach ($arr as $key=>$value) {
        if($value==$brr[$key]) {
            $brr[$key] = '..';
        }
    }
    $cha = implode('/',$brr);
    return $cha;
}
计算文件$b相对于文件$a的路径,如
     $a = ’/a/b/c/d/e.php’; $b = ’/a/b/12/34/c.php’;
结果
     ../../12/34/c.php
下面是关于parse_url的用法
1  | $url = 'http://username:password@hostname/path?arg=value#anchor';  | 
以上例程会输出:1
2
3
4
5
6
7
8
9
10
11
12Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path