Avatar billede walden Nybegynder
04. april 2008 - 12:05 Der er 10 kommentarer og
1 løsning

referere til fil uden for www-mappen

Hvis jeg har et php-script hvor jeg ønsker at referere til en fil, der ligger uden for www-dir'et, hvad hedder stien så typisk - og kan man i det hele taget det?
Avatar billede kjeldsted Novice
04. april 2008 - 17:55 #1
Jeg skal lige være helt med... Du siger at filen ikke ligge på rod mappen, eller i en under mappe? Hvor ligger den så?
Avatar billede walden Nybegynder
04. april 2008 - 17:57 #2
Den ligger udenfor webroden ... altså uden for den mappe, der kan tilgåes via en browser.
Avatar billede dkfire Nybegynder
04. april 2008 - 18:42 #3
Måske noget ala:

$mappe = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . ".." . DIRECTORY_SEPARATOR;
Avatar billede walden Nybegynder
04. april 2008 - 18:57 #4
Vil $_SERVER['DOCUMENT_ROOT'] ikke henvise til roden at den offentligt tilgængelige del at min webserver?
Avatar billede dkfire Nybegynder
04. april 2008 - 20:24 #5
Jo, og det er også kun for at få et udgangspunkt. Men læg mærke til at jeg derefter har tilføjet .. for at gå en mappe tilbage.
Avatar billede walden Nybegynder
04. april 2008 - 21:21 #6
Okay - tak for svaret ... det vil jeg teste, men inden, vil du så prøve at vurdere på, om det kan fungere, hvis jeg bruger følgende sti til at henvise til en fil uden for webroden:

/var/www/www.mydomain.dk/fil.php
Avatar billede leif Seniormester
04. april 2008 - 21:24 #7
Ja, hvis det er din reelle sti.


Du kan se din sti med følgende i PHP:
<?
$_SERVER["DOCUMENT_ROOT"];
?>



Så bør du kunne gætte hvor filen ligger.
Avatar billede walden Nybegynder
04. april 2008 - 21:44 #8
Ok - det virker faktisk med "/var/www/www.mydomain.dk/fil.php" og også med denne version "/web/www.mydomain.dk/fil.php" ... hvilken bør jeg bruge?

Men jeg forstår egentlig ikke, at det virker. Hvordan kan det lader sig gøre, at kalde en fil, der ligger uden for webroden, via et script, der ligger på en hjemmeside. Kan I forklare mig det.

Grunden til at jeg gerne vil have en fil liggende uden for webroden, er fordi jeg formoder, at det vil gøre det umuligt for andre at downloade/læse filen via browseren ... har jeg ikke ret i, at det ikke kan lade sig gøre?

Der er point til dkfire og leif for de svar jeg allerede har fået ...
Avatar billede dkfire Nybegynder
04. april 2008 - 22:19 #9
Grunden til at du i et php script godt kan læse filer som ligger uden for roden af din www mappe, skyldes jo at php er et server side script sprog, hvilket betyder at php afvikles på serveren og ikke i browseren.
Da php afvikles på serveren, kan php læse alle de filer som ligger på serveren, selvfølgelig så længe der er de rigtige rettigheder.
Der er ingen som vil kunne læse din php kode ved bare at downloade filen, da webserveren vil kører filen igennem php fortolkeren inden filen downloades, derved forsvinder alt php kode og tilbage bliver det du har valgt at præsentere som html.

Håber det gav lidt mening. :-)
Avatar billede walden Nybegynder
04. april 2008 - 22:27 #10
Jo det giver fin mening ... Jeg ved godt, at man ikke kan donwloade en php-fil og på den måde få adgang til php koden ... men hvis den fil, jeg vil henvise til uden for roden af min www mappe fx er en tekst fil, er det vel korrekt forstået, at andre ikke kan browse den, men at php kan refere til den, fordi php, som du skriver, er et serverside scriptsprog.

Tak for de grundige forklaring :-)
Avatar billede walden Nybegynder
04. april 2008 - 22:30 #11
Bør jeg bruge

"/var/www/www.mydomain.dk/fil.txt"

eller

"/web/www.mydomain.dk/fil.txt"

Begge virker tilsyneladende efter hensigten.
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