Heim  >  Artikel  >  Backend-Entwicklung  >  Ein Fall der Implementierung relativer Pfade mithilfe des PHP-Algorithmus

Ein Fall der Implementierung relativer Pfade mithilfe des PHP-Algorithmus

黄舟
黄舟Original
2017-10-18 09:06:302447Durchsuche

Dieser Artikel stellt hauptsächlich relevante Informationen zu Beispielen für die Implementierung relativer Pfade im PHP-Algorithmus vor. Ich hoffe, dass dieser Artikel jedem helfen kann, eine solche Funktion zu realisieren

Beispiel PHP-Algorithmus zur Implementierung des relativen Pfads

Relativen Pfad berechnen (dasselbe Verzeichnis kann ignoriert und durch ../ oder ./ dargestellt werden)

Implementierungscode:


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,&#39;..&#39;); 
      } 
      if($i==$len){ 
        $rearray=array(&#39;./&#39;); 
      } 
    } 
    $reroot=array_merge($rearray,array_slice($arr2, $i)); 
    return implode(&#39;/&#39;, $reroot); 
  } 
} 
$path1="a/b/c/d/index.php"; 
$path2="/a/b/12/34/index1.php"; 
$a=Relatively::relaroot($path1, $path2); 
echo $a;

Das obige ist der detaillierte Inhalt vonEin Fall der Implementierung relativer Pfade mithilfe des PHP-Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn