8795 sujets

Développement web côté serveur, CMS

Bonjour,

Je cherche à écrire un script qui me retournerait sous forme de chaine le nombre de niveaux vers la racine du serveur.

Exemple :
si je suis dans www.monsite.com/niveau1 j'aimerais qu'il me retourne "../"
si je suis dans www.monsite.com/niveau1/niveau2/ j'aimerais qu'il me retourne "../../"

etc.

Cela est-il possible? Merci si vous avez une piste.
Modifié par poseidon (24 Jun 2008 - 16:11)
Un REGEX sur la chaine afin de trouver les slashs devrait faire l'affaire.
Je m'explique : Si l'url est www.monsite.com/niveau1/ le nombre de slashs est de deux, donc c'est le premier niveau (le premier slash étant le niveau zéro). Si par contre l'url est www.monsite.com/niveau1/niveau2/ le nombre de slashs étant de 3, tu es au deuxième niveau. etc...

Par contre il faudra éventuellement penser à gérer le cas où il n'y a pas de slash après le nom du dossier (slash final) comme par exemple avec www.monsite.com/niveau1

Sinon, suivan l'utilisation, tu peux essayer de regarder là http://fr.php.net/manual/fr/reserved.variables.server.php pour trouver quelque chose.
Salut poseidon Smiley cligne ,

je suppose qu'en partant du nombre d'occurrences non vides d'un explode("/", $_SERVER['PHP_SELF']); ça ne devrait pas poser trop de problèmes Smiley murf ...

A+
Merci pour ces réponses rapides ! Smiley biggrin

L'idée est top, je preux retrouver le nombre de "/" dans l'url, mais ca ne semble pas fonctionner avec les urls crées par un URL Rewriting.. Smiley confus Quelle que soit le niveau où je me trouve, j'ai le même résultat. PHP_SELF retourne la même valeur (l'index)

Est-ce qu'il y a un moyen de retourner l'url affichée plutôt que l'url réelle ?
$_SERVER['REDIRECT_URL'] me donne la même chose que $_SERVER['PHP_SELF']

Mais j'ai trouvé une solution, je suis sur un site Wordpress, j'ai donc accès à une fonction get_permalink() qui me retourne la bonne URL. Avec ça je devrais y arriver Smiley smile

Merci a+
poseidon a écrit :
$_SERVER['REDIRECT_URL'] me donne la même chose que $_SERVER['PHP_SELF']
Hmm... ben oui : l'URL Rewriting ne génère pas forcément de redirection Smiley scotch !

Sinon, est-ce que tu considères que ce sujet est [Résolu] ? Smiley cligne