php-getRelativePath PHP计算文件的相对路径
在程序中经常会用到相对路径,这里写个函数。
[关键词] parse_url
1
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