小兔网

这篇文章主要介绍了php 算法之实现相对路径的实例的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下

php 算法之实现相对路径的实例

算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示)

实现代码:


class Relatively{   private function __construct(){        }   /**    * 算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示)    * @param Strint $path1    * @param Strint $path2    * @return string    */   public static function relaroot($path1,$path2){     $rearray=array();     $arr1=explode('/', dirname($path1));     $arr2=explode('/', dirname($path2));     for($i=0,$len=count($arr2)-1;$i<$len;$i++){       if($arr1[$i]!=$arr2[$i]){         break;       }       if($i==1){         $rearray=array();       }       if($i!=1 && $i<$len){         $rearray=array_fill(0,$len-$i,'..');       }       if($i==$len){         $rearray=array('./');       }     }     $reroot=array_merge($rearray,array_slice($arr2, $i));     return implode('/', $reroot);   } } $path1="a/b/c/d/index.php"; $path2="/a/b/12/34/index1.php"; $a=Relatively::relaroot($path1, $path2); echo $a;

以上就是php算法实现相对路径的案例的知识。速戳>>知识兔学习精品课!