PHP 如何算出两个文件的相对路径


写一个函数,算出两个文件的相对路径,如:

   
  $a = '/a/b/c/d/e.php';   
  
$b ='/a/b/12/34/c.php';

php

猫耳辉夜姬 11 years, 11 months ago
   
  /*
  
$a为路径1,
$b为路径2,
$c为路径1的搜索位置,
$d为路径2的搜索位置,
*/
function abc($a,$b,$c,$d){
if(empty($a) || empty($b) || !is_numeric($c) || !is_numeric($d)){
return $b;
}
$tmp1=strpos($a,'/',$c+1);
$tmp2=strpos($b,'/',$d+1);
$tmp3=substr($a,$c+1,$tmp1-$c-1);
$tmp4=substr($b,$d+1,$tmp2-$d-1);
if($tmp1!==false&&$tmp2!==false){
if($tmp3===$tmp4){
if($d==0){
$b='..'.substr($b,$tmp2);
}else{
$b=substr($b,0,$d+1).'..'.substr($b,$tmp2);
$tmp2=$tmp2+(2-strlen($tmp4));
}
$b=abc($a,$b,$tmp1,$tmp2);

}
}
return $b;
}

小囧囧D雪 answered 11 years, 11 months ago

Your Answer