[Résolu] déterminer le nom du dossier à partir d'un chemin relatif

Petit nouveau ! | 8 Messages

08 mai 2009, 05:52

Bonjour,

Je cherche à retrouver le nom du dossier pointé par la variable $dossier qui a été renseignée à l'aide d'un chemin relatif.

Par exemple, disons que je travail depuis un script inclus dans "factures_2000.html" et que je veux définir une variable $dossier contenant le nom du dossier pointé par ".." (le résultat serait la chaine "documents") puis un peu plus tard celui qui est pointé par "../autres_fichiers/pages" (le résultat serait la chaine "pages") et encore plus tard la racine du site pointée par ../.. (le résultat serait la chaine "www")

Comment m'y prendre ?

Code : Tout sélectionner

www | |-- index.html | |-- documents | |-- archives | | |-- factures_2000.html | | |-- factures_1999.html | | | |-- comptabilite.html | |-- factures.html | |-- autres_fichiers |-- pages | |-- accueil.html | |-- horaires.html | |-- contact.html | |-- images |-- logo.jpg |-- mail.png |-- banniere.swf
Modifié en dernier par neeteex le 08 mai 2009, 13:32, modifié 1 fois.

Mammouth du PHP | 661 Messages

08 mai 2009, 11:11

dirname() ... c'est ça ?

Petit nouveau ! | 8 Messages

08 mai 2009, 11:35

dirname() ... c'est ça ?
Ca aurait pu, mais quand j'ai essayé un

Code : Tout sélectionner

$dossier = '..' ; echo dirname($dossier) ;
J'ai eu droit à un pathétique '.' (alors que je voulais ("documents")

Donc si c'est faisable avec dirname, j'ai pas trouvé comment... :?

Mammouth du PHP | 991 Messages

08 mai 2009, 12:43

et un dirname(realpath("..")); ?

EDIT :

Plutôt un
$lien = explode("\\" ,realpath(".."));
$thelast  = count($lien) - 1;
echo "Je viens de : ".$lien[$thelast];
Bye hawk
DevOps, Symfony4, Hoa

Petit nouveau ! | 8 Messages

08 mai 2009, 13:31

Merci The Hawk :)

Je sais pas pourquoi tu fais un explode sur "\\" au lieu de "/" mais j'ai gardé l'idée :wink:

Code : Tout sélectionner

$folder = ".." ; $lien = explode("/" ,realpath($folder)); $thelast = count($lien) - 1; echo "Je viens de : ".$lien[$thelast];

Mammouth du PHP | 991 Messages

08 mai 2009, 13:35

Parceque je suis sous windows et que bon l'adresse des fichiers sous windows est de la forme :

Code : Tout sélectionner

C:\wamp\www\
Voila et si on évité le troll que je vois arriver ?
DevOps, Symfony4, Hoa

Petit nouveau ! | 8 Messages

08 mai 2009, 13:38

Voila et si on évité le troll que je vois arriver ?
J'ai rien dit !
C'est plutôt moi qui fait comme si tout le php du monde était destiné au web (1ere erreur ), et que tout le web du monde tournait sous linux (2eme erreur).
Donc mille excuses, ça coulait de [la] source. (c'est le cas de le dire :wink: )