Avatar billede jjdk Nybegynder
10. december 2006 - 19:14 Der er 19 kommentarer og
2 løsninger

hvordan kalder jeg en fil i roden

Hej.
Hvis jeg nu har en php-fil ude i 10. led. og skal kalde en fil i roden, kan jeg skrive:
include '../../../../../../../../../filnavn' eller er der en mere enkel metode. Jeg kan jo ikke skrive sidens url, så jeg tænkte om der er en metode i stil med gamle DOS [cd\].
Avatar billede old-faithful Praktikant
10. december 2006 - 19:22 #1
Nu er jeg ikke den store PHP-koder, men normalt kan man med links enten skrive den absolutte URL (http:/www.osv...) eller blot sætte en skråstreg *foran*, for at vise at der skal kigges i forhold til rodmappen, f.eks. "/filnavn".
Avatar billede jjdk Nybegynder
10. december 2006 - 19:25 #2
URL kan ikke skrives pga. sikkerheden ved anvendelse af include.
Avatar billede old-faithful Praktikant
10. december 2006 - 19:45 #3
Virker det med skråstreg foran?
Avatar billede jakobdo Ekspert
10. december 2006 - 19:46 #4
Eller også kan du bruge: $_SERVER['document_root']
Avatar billede jjdk Nybegynder
10. december 2006 - 19:57 #5
Jeg prøver lige.
Til Jakobdo: Er dit forslag uafhængig af styresystem på serveren og uafhængig af PHP-versionen?
Avatar billede jjdk Nybegynder
10. december 2006 - 20:08 #6
Jeg har prøvet med begge muligheder, men det lader til, at der er noget sikkedsmæssigt. Jeg får denne fejl:
Warning: require() [function.require]: open_basedir restriction in effect. File(/kalendertest/inc/fpdf.php) is not within the allowed path(s):
Avatar billede showsource Seniormester
10. december 2006 - 20:14 #7
$_SERVER["DOCUMENT_ROOT"]

returnerer stien til roden af domainet.
Men f.eks. på whitehat.dk, er serveren sat op, så
$_SERVER["DOCUMENT_ROOT"]
returnerer stien til det dir hvor selve domainet whitehat.dk ligger.

Og det er jo ikke det dir man skal bruge for at komme til roden af sit eget domain hos dem, (subdomain)

Men er du i roden, kan du med

<?php
echo $_SERVER["PATH_TRANSLATED"];
?>

se harddisk-stien til roden af dit domain.
Avatar billede showsource Seniormester
10. december 2006 - 20:16 #8
Og
"/kalendertest/inc/fpdf.php"

her kikker scriptet i "roden af harddisken" efter dir'et "kalendertest/inc"
Avatar billede jjdk Nybegynder
10. december 2006 - 20:26 #9
jeps, men filerne ligger jo på en webserver (www.web10.dk). Har det nogen betydning?
Avatar billede showsource Seniormester
10. december 2006 - 20:29 #10
Der virker
$_SERVER["DOCUMENT_ROOT"]

medmindre det er et subdomain du bruger fra
Avatar billede showsource Seniormester
10. december 2006 - 20:29 #11
bruger => kalder
Avatar billede jjdk Nybegynder
10. december 2006 - 20:39 #12
Beklager - jeg må have lavet en fejl. Old-faithful's forslag virker ikke, men jeg har nu fået det til at virke med Jakobdo og Showsource's forslag. Jeg må have lavet noget forkert. Får jeg lige et svar fra Jakobdo og Showsource? Tak for hjælpen.
Avatar billede showsource Seniormester
10. december 2006 - 20:42 #13
Jahh, fra jakodo, det var jo ham som kom med et brugbart "svar" :O)
Avatar billede jjdk Nybegynder
10. december 2006 - 20:47 #14
Jo, men jeg er også glad for dine input. Jeg har forhøjet pointene, så jeg giver 30 til jer hver.
Avatar billede showsource Seniormester
10. december 2006 - 20:57 #15
nåhnåh... :O)
Avatar billede jakobdo Ekspert
10. december 2006 - 21:12 #16
Du får også et svar her.
Avatar billede jjdk Nybegynder
10. december 2006 - 21:16 #17
Det kan være, at jeg må komme med et tillægsspørgsmål til showsource:
I roden har jeg en mappe, der hedder "kalendertest". I mappen "kalendertest" har jeg en fil, hvor jeg godt kunne tænke mig, at hente stien (kalendertest) inklusive roden. Kunne det være noget i retning af:
$stinavn = $_SERVER["DOCUMENT_ROOT"] .$dirname;
Avatar billede showsource Seniormester
10. december 2006 - 21:22 #18
<?php
echo dirname($_SERVER["PHP_SELF"]);
?>

Men bruger det fra roden af domain, får du \
Avatar billede showsource Seniormester
10. december 2006 - 21:24 #19
Eller, mere korrekt ud frahvaddu skriver:

<?php
$stinavn = $_SERVER["DOCUMENT_ROOT"] . dirname($_SERVER["PHP_SELF"]) ."/";
echo $stinavn;
?>
Avatar billede jjdk Nybegynder
10. december 2006 - 21:55 #20
Tusind tak :-)
Avatar billede jakobdo Ekspert
11. december 2006 - 08:13 #21
Takker for point.
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