function test($a, $b) {
$arr_a = explode( '/',$a);
$arr_b = explode( '/',$b);
$diff_arr = array_diff_assoc($arr_a,$arr_b);//求出数组的差数组
$count = count($arr_b) - count($diff_arr);//
$path = '';
for ($i=0; $i < $count-1; $i++) {
$path .= '../';
}
$path .= implode('/', $diff_arr);
var_dump($path);die;
}
test('/a/b/c/d/a.php', '/a/b/1/2/3/4/5/6/7/b.php');
运行结果 : string(30) "../../../../../../../c/d/a.php"