Gå til innhold

Sti til fil som varierer med plassering


Anbefalte innlegg

Har en header.php som lager menyer, en rightmenu.php som lager høyremeny og en footer.php som lager bunntekst på en side osv. MEnyene blir bygget på grunnlag av innhold i flate filer.

 

index.php ligger naturlig nok i root (/) på siden. Header.php osv ligger i /include. Admin-panelene ligger i /admin. HTML-kodede sider ligger i /externals

 

For å bygge opp menyer, shoutbox, login-skjema osv. bruker jeg flate filer. i root (/) ligger db.csv som KUN inneholder den FULLSTENDIGE lokale banen til databaseområdet (C:/wwwroot/seilweb/wwwroot osv.).

 

Når jeg lager f.eks. åpner forsiden (som ligger i root(/)) bruker den require() til å hente includes/header.php osv. I hedader.php osv. åpnes først db.csv. Der hentes ut sien til databaseområdet, og header.php bygger menyen ved hjelp av den stien.

 

Problemet er at når jeg f.eks. er inne i administrasjonspanelet (admin/admin.php)og menyen skal lages, så stemmer ikke stien til db.csv. Og siden den ikke finner stien til db.csv, så finner den heller ikke stien til databaseområdet, og menyene bygges ikke pga. at den ikke finner databasen.

 

Hvordan løser jeg dette problemet? Hvis jeg endrer stien slik at den virker i admin-området, så virker den jo ikke på hovedsiden...

 

På forhånd takk for alle svar.

Lenke til kommentar
Videoannonse
Annonse

Forslag

 

$include_path = "den relative path til include filene dine"; Denne verdien forandrer du ettersom hvilket script du har åpent..

 

Deretter kan du sette include($include_path . 'db.csv');

 

I header admin/admin.php vil da $include_path vare = ../

 

etc..

 

Dersom jeg forstod deg rett skulle dette virke..

Lenke til kommentar

Problemet er ikke å få den relative pathen i f. eks. admin/admin.php til å virke, men problemet er at når jeg i admin.php kjører require('../include/header.php'); så vil ikke header.php kjøres riktig fordi header.php ikke finner db.csv. Og hvis jeg endrer den relative pathen i header.php, så vil ikke index.php bygges riktig fordi da kjøres header.php fra et annet sted, og den relative paten blir feil igjen.

 

Skjønner? Jeg kan jo selvfølgelig legge full path inn i alle filer, men det ville bli MEGET tungvindt å flytte scriptet fra en server til en annen... Alternativtkan jeg legge en kopi av db.csv i alle mapper, men det er jo litt tungvindt det også, fordi det er mange mapper, undermapper og mapper under det igjen (eller: det blir i alle fall når prosjektet er ferdig).

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...