当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-13 09:56:29 浏览: 评论:0 

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

php 算法之实现相对路径的实例,算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示)实现代码:

  1. class Relatively{  
  2.   private function __construct(){  
  3.        
  4.   }  
  5.   /**  
  6.    * 算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示)  
  7.    * @param Strint $path1  
  8.    * @param Strint $path2  
  9.    * @return string  
  10.    */ 
  11.   public static function relaroot($path1,$path2){  
  12.     $rearray=array();  
  13.     $arr1=explode('/', dirname($path1));  
  14.     $arr2=explode('/', dirname($path2));  
  15.     for($i=0,$len=count($arr2)-1;$i<$len;$i++){  
  16.       if($arr1[$i]!=$arr2[$i]){  
  17.         break;  
  18.       }  
  19.       if($i==1){  
  20.         $rearray=array();  
  21.       }  
  22.       if($i!=1 && $i<$len){  
  23.         $rearray=array_fill(0,$len-$i,'..');  
  24.       }  
  25.       if($i==$len){  
  26.         $rearray=array('./');  
  27.       }  
  28.     }  
  29.     $reroot=array_merge($rearray,array_slice($arr2$i));  
  30.     return implode('/'$reroot);  
  31.   }  
  32. }  
  33. $path1="a/b/c/d/index.php";  
  34. $path2="/a/b/12/34/index1.php";  
  35. $a=Relatively::relaroot($path1$path2);  
  36. echo $a;

Tags: php算法 php相对路径

分享到: