Avatar billede nemlig Professor
30. december 2008 - 22:16 Der er 18 kommentarer og
1 løsning

Hent filnavn fra server

Hvordan henter jeg filnavn uden mapper.
Jeg har prøvet disse, men de tager mapperne med:
Jeg skal kun hente filnavnet!

$_SERVER['SCRIPT_NAME']
$_SERVER['PHP_SELF']
Avatar billede kjeldsted Novice
30. december 2008 - 22:20 #1
$_SERVER['SCRIPT_NAME'] burde kunne klare opgaven...
Avatar billede kjeldsted Novice
30. december 2008 - 22:21 #2
Hm. Ser ud til du har prøvet. Den virker ellers glimerende på min server.
Avatar billede nemlig Professor
30. december 2008 - 22:23 #3
Jeg har prøvet med disse 3:

echo "<br />Script_name: ".$_SERVER['SCRIPT_NAME'];
echo "<br />PHP_SELF: ".$_SERVER['PHP_SELF'];
echo "<br />REQUEST ".$_SERVER['REQUEST_URI'];

Alle 3 returnerer også mapperne
Avatar billede nemlig Professor
30. december 2008 - 22:27 #4
hmmm- underligt. Jeg har lige prøvet dem på en anden server, og her returneres kun filnavnet.
Det måske noget med PHP-installationen at gøre.
Når jeg tjekker phpinfo() på den server, som driller, så vises også kun filnavnene ud for de 3 variabler.
Avatar billede kjeldsted Novice
30. december 2008 - 22:33 #5
Hvis du opretter en side og skriver:

<?
echo 'DOCUMENT_ROOT :' . $_SERVER['DOCUMENT_ROOT'];
echo "\n<br>GATEWAY_INTERFACE :" . $_SERVER['GATEWAY_INTERFACE'];
echo "\n<br>HTTP_ACCEPT :" . $_SERVER['HTTP_ACCEPT'];
echo "\n<br>HTTP_ACCEPT_CHARSET :" . $_SERVER['HTTP_ACCEPT_CHARSET'];
echo "\n<br>HTTP_ACCEPT_ENCODING :" . $_SERVER['HTTP_ACCEPT_ENCODING'];
echo "\n<br>HTTP_ACCEPT_LANGUAGE :" . $_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo "\n<br>HTTP_CONNECTION :" . $_SERVER['HTTP_CONNECTION'];
echo "\n<br>HTTP_HOST :" . $_SERVER['HTTP_HOST'];
echo "\n<br>HTTP_REFERER :" . $_SERVER['HTTP_REFERER'];
echo "\n<br>HTTP_USER_AGENT :" . $_SERVER['HTTP_USER_AGENT'];
echo "\n<br>PATH_TRANSLATED :" . $_SERVER['PATH_TRANSLATED'];
echo "\n<br>PHP_SELF :" . $_SERVER['PHP_SELF'];
echo "\n<br>QUERY_STRING :" . $_SERVER['QUERY_STRING'];
echo "\n<br>REMOTE_ADDR :" . $_SERVER['REMOTE_ADDR'];
echo "\n<br>REMOTE_PORT :" . $_SERVER['REMOTE_PORT'];
echo "\n<br>REQUEST_METHOD :" . $_SERVER['REQUEST_METHOD'];
echo "\n<br>REQUEST_URI :" . $_SERVER['REQUEST_URI'];
echo "\n<br>SCRIPT_FILENAME :" . $_SERVER['SCRIPT_FILENAME'];
echo "\n<br>SCRIPT_NAME :" . $_SERVER['SCRIPT_NAME'];
echo "\n<br>SERVER_ADMIN :" . $_SERVER['SERVER_ADMIN'];
echo "\n<br>SERVER_NAME :" . $_SERVER['SERVER_NAME'];
echo "\n<br>SERVER_PORT :" . $_SERVER['SERVER_PORT'];
echo "\n<br>SERVER_PROTOCOL :" . $_SERVER['SERVER_PROTOCOL'];
echo "\n<br>SERVER_SIGNATURE :" . $_SERVER['SERVER_SIGNATURE'];
echo "\n<br>SERVER_SOFTWARE :" . $_SERVER['SERVER_SOFTWARE'];
?>

burde du kunne se indholdet af ALLE $_SERVER funktioner... Hvis én af dem indeholder det rigtige er det nok den ;)
Avatar billede erikjacobsen Ekspert
30. december 2008 - 22:33 #6
Ja, der kommer lidt forskelligt ud - men det er vel en smal sag at pille filnavnet ud?
Avatar billede kjeldsted Novice
30. december 2008 - 22:35 #7
Ah... Så ikke lige ud havde skrevet...

Men det tyder på en forkert server opsætning.

Du kan jo selvfølgelig løse problemet med en funktion der fjerne det første vha. regulære udtryk.. Men ret besværlig løsning.
Avatar billede erikjacobsen Ekspert
30. december 2008 - 22:36 #8
Ja. Sikkert derfor man har opfundet http://php.net/basename
Avatar billede kjeldsted Novice
30. december 2008 - 22:37 #9
Ah. Ja. Nogle ting behøves ikke altid gøres besværligt ;-)
Avatar billede nemlig Professor
30. december 2008 - 22:37 #10
Kjeldsted:
De steder hvor filnavnet vises kommer mapperne også med. :(
Erik: Noget med kigge på strengen bagfra indtil tegnet "/"?
Avatar billede nemlig Professor
30. december 2008 - 22:39 #11
Så ikke kommentarerne efter 22:33:45.
Jeg prøver lige.
Avatar billede kjeldsted Novice
30. december 2008 - 22:39 #12
Som erik skriver... Brug basename:

<?
echo basename($_SERVER['PHP_SELF']);
?>
Avatar billede nemlig Professor
30. december 2008 - 22:44 #13
Halleluja - så kører det.
Tak Erik!
Også tak til Kjeldsted.
Send venligst svar.
Avatar billede erikjacobsen Ekspert
30. december 2008 - 22:45 #14
Ingen point til mig, tak.
Avatar billede kjeldsted Novice
30. december 2008 - 22:52 #15
Og jeg skal vist heller ikke have nogle for dette.
Avatar billede nemlig Professor
30. december 2008 - 22:56 #16
Jeg deler nu meget gerne ud, så jeg synes Kjeldsted skal sende et svar. Erik samler ikke point, men endnu en tak til dig Erik.
Avatar billede kjeldsted Novice
30. december 2008 - 22:58 #17
Hvis du så gerne vil af med dem, på trods af min knap så store redningsaktion ;)
Avatar billede nemlig Professor
30. december 2008 - 23:07 #18
Værsgo.
Avatar billede kjeldsted Novice
30. december 2008 - 23:12 #19
Jamen så siger jeg da tak for points
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