Avatar billede tjensen Nybegynder
06. maj 2005 - 21:52 Der er 4 kommentarer og
1 løsning

Navn på mappe

Hey!

Jeg har brug for en variable der fortæller mig hvilken mappe jeg er i.

Altså arbejder jeg i E:\projekt\jensen\login

skal jeg have den til at skrive login bare.

Har leget lidt med dirname og pathinfo, men kan ikke lige kringle den.

Hilsen Thomas
Avatar billede divinegod Nybegynder
06. maj 2005 - 22:07 #1
du kan bruge explode() (http://dk.php.net/explode) og derefter pop'e det øverste resultat ud i en variabel.

ex.:

$path_parts = pathinfo('path/til/din.fil');
$path_dirname = $path_parts['dirname'];
$path_dirname = explode($path_dirname,'//'); //for at unix filnavne bliver exploderet
$path_dirname = explode($path_dirname,'\'); //for at windows filnavne bliver exploderet
$path_dirname = pop($path_dirname); //få den øverste del af path_dirname array'et der blev lavet med explode()

Noget i den stil burde kunne klare det
Avatar billede dulius Nybegynder
06. maj 2005 - 22:13 #2
Her er en anden løsning.
Variablen $_SERVER["SCRIPT_FILENAME"] giver dig den fulde sti til din fil. Med lidt klippe/klistren i denne vil du kunne finde den aktuelle mappe - men vær lige opmærksom på at scriptet ikke tager højde for undermapper. Det viser kun navnet på den mappe scriptet ligger i. Ligger scriptet test.php f.eks. /config/classes/ vil kun 'classes' blive udskrevet.

$sti = $_SERVER["SCRIPT_FILENAME"];
$i = strrpos($sti, '/');
$tmpstr = substr($sti, 0, $i);
$a = strrpos($tmpstr, '/');
$mappe = substr($tmpstr, $a+1);
echo $mappe;
Avatar billede tjensen Nybegynder
06. maj 2005 - 22:14 #3
vovhh noget af en hel funktion der.. er det virkelig nødvendigt?

jeg sad og arbejdede lidt på
dirname($_SERVER['PHP_SELF']), men skal man virkelig igennem alt det?
Det her burde give \projekt\jensen\login

kan man så ikke bede den om alt efter sidste \?
Avatar billede dulius Nybegynder
06. maj 2005 - 22:21 #4
jo, så bruger du bare strrpos og substr. Det her vil virke:

$tmpmappe = dirname($_SERVER['PHP_SELF']);
$i = strrpos($tmpmappe, "\\");
$mappe = substr($tmpmappe, $i+1);
echo $mappe;
Avatar billede tjensen Nybegynder
06. maj 2005 - 22:28 #5
YES! Således!

substr(dirname($_SERVER['PHP_SELF']), strrpos(dirname($_SERVER['PHP_SELF']), "/")+1)

Det var lige hvad jeg skulle bruge!
Takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester