Retrouver le nombre de ../ qu'il faut mettre pour acceder à un dossier préci.

Contenu du snippet

Ce code sert à retrouver le nombre de ../ qu'il faut mettre pour retrouver se retrouver dans un dossiers préci.

PAR EXEMPLE UN EXEMPLE :
l'adresse à laquelle vous êtes :
www.votresite.com/rubrique1/pages/sousdossiers/page.php
Vous ne savez pas combien de sous dossiers il y a mais vous aimeriez faire un lien vers votre feuille CSS qui se trouve dans le dossier :
www.votresite.com/rubrique1/theme/feuille.css

Donc vous copiez ma fonction, et votre lein sera :
retour_dossier(rubrique1).'theme/feuille.css'

Et cela marchera toujours si vous rajoutez des sous dossier partout, ce qui serait pas le cas si vous mettiez pour votre lien :
www.votresite.com/rubrique1/theme/feuille.css
Car si ce lien devient www.votresite.com/rubriques/rubrique1/theme/feuille.css
Ca ne marcherai plus.
Avec mon code ça marche toujours ^^

Source / Exemple :


<?php
function retour_dossier($dossier)
   {
$chemin=$_SERVER['PHP_SELF'];

if($dossier!='?racine?')
{
$regex='!^.*/'.$dossier.'((/[a-z0-9_]+)*)/[a-z0-9_]+\.[a-z0-9_]+$!';
$dossiers_en_trop=preg_replace($regex,'$1',$chemin);
}
else
{
$dossiers_en_trop=preg_replace('!^(.*)/[a-z0-9_]+\.[a-z0-9_]+$!','$1',$chemin);
}

$nombre_dossiers_en_trop=substr_count($dossiers_en_trop,'/');

/*On fait une boucle pour mettre tous les ../ qu'il faut */
$compteur=$nombre_dossiers_en_trop;
$retours='';
while ($compteur>=1)
  {
  $retours .='../';
  $compteur=$compteur-1;
  }
return $retours;
   }
?>

   }
   
   retour_dossier($dossier);
?>

Conclusion :


Si vous voulez retourner jusqu'à la racine du texte, mettez $dossier='?racine?';

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.