Maison > Article > développement back-end > Un cas d'implémentation de chemins relatifs à l'aide de l'algorithme PHP
Cet article présente principalement des informations pertinentes sur des exemples d'implémentation de chemins relatifs dans l'algorithme PHP. J'espère que cet article pourra aider tout le monde à réaliser une telle fonction. Les amis dans le besoin peuvent s'y référer
Exemple de. Algorithme php pour implémenter le chemin relatif
Calculer le chemin relatif (le même répertoire peut être ignoré et représenté par ../ ou ./)
Code d'implémentation :
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;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!