Relative stier - hvordan SKAL det gøres?

Tags:    php

<< < 12 > >>
Hej.

Jeg har noget rigtigt bøvl med en hjemmeside. Følgende mapper (bl.a.):

index.php
ROOT / PAGES / diverse.php
ROOT / SCRIPTS / diverse.php
ROOT / ASSETS / IMAGES / diverse.jpg
osv...

Min index.php kalder nogle includes fra både SCRIPTS og PAGES mapperne. Disse kaldte dokumenter har visse relative stier til bl.a. grafik. Og det virker.

Problemet er når jeg kalder samme dokumenter fra et andet sted i min fil strukter - f.eks. fra mappen PAGES. Så sker der det, at filen godt nok bliver kaldt (da jeg tilføjer "../"), men så mangler billeder og ikoner pludselig da de includede filers relative stier åbenbart ikke længere passer...

Det lyder lidt forvirrende, og er det egentlig osse. Jeg kan i hvertfald ikke lige gennemskue hvordan problemet løses lettest, og ærlig talt kan jeg slet ikke forstå jeg har problemet!

Håber på et godt råd...

Mvh
Gunnar



Dine billeder og ikoner mangler sandsynligvis fordi eksekveringsstien nu er fra index siden, og så passer de relative referencer ikke...

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Dine billeder og ikoner mangler sandsynligvis fordi eksekveringsstien nu er fra index siden, og så passer de relative referencer ikke...

(¯`·._.·[Brian Hvarregaard]·._.·´¯)


Det havde jeg sådan set gennemskuet, men hvordan løser man det? Jeg mener, man kan vel stadig bruge mapper fordi man include'r filer?

Mvh
Gunnar



...eller skal jeg til at lave et "index.php?page=" system?

Mvh
Gunnar



Kan ikke helt huske syntaksen til det, men man kan referere alle mapper og så videre til at være relative til ROOT. Alternativt, hvis alle dine sider er includes og du ikke tilgår dem uden om denne side, så skift stien i disse filer (her ville det nok have været smart at lave en $path variabel i starten af din kode der indeholdt stien, og så alle billeder bare forholdt sig til den.... så skulle det kun ændres eet sted

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



DET ville være interessant med et lille eksempel på dette, for det lyder da oplagt som en snedig løsning!

Mvh
Gunnar



hvis du starter adressen med en skråstreg, starter den i root, dvs. efter domænenavnet

/mappe/mappe/fil.php

=

../../mappe/mappe/fil.php

=

www.domaene.dk/mappe/mappe/fil.php



Men løser det problemet med at dokumenterne ser stierne alt efter hvor de includes fra?

Gunnar



det gør at stien kun bliver realtiv mht. domænet.



Der er en ting jeg ikke forstår. Denne problematik forekommer mig større og mere uigennemskuelig end jeg havde forestillet mig. Har man en included en fil som includer en anden, så bliver det meget hurtigt meget kringlet.

At begynde at skrive hele den superlange sti http://localhost/dit/dat.... ind foran ALLE stier virker som en dræber. Især når man tænker på den dag hvor det skal på nettet, og alle stier så skal ændres til den pågældende webadresse.

Jeg har prøvet at lave en $root = "http://localhost/osv"; variabel at sætte ind, men det virker ikke overalt, og så er der ligesom ingen pointe i det.

Er der ikke en herinde som har løsninGEN? Jeg mener, det må da være noget mere eller mindre alle slås med?

Gunnar



at lade være med at bruge et hav af mapper...



<< < 12 > >>
t