PHP, require() och documentroot(?)

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2003-05-14 22:52

Tjena!

Jag har ett litet problem.

Använder mig av "require("common.php"); över i stort sett alla dokument. Inne i common.php så har jag en funktion som skriver ut en html sidas huvud. Bland annat skrivs den här raden ut:

<LINK REL="stylesheet" TYPE="text/css" HREF="css/css_ie.css">

Nu är mitt problem det att jag har en rätt stor sida och behovet av underkataloger är självklart.
När jag i en underkatalog inkluderar(require()) så blir ju tyvärr sökvägen till min .css fel !
Jag undrar om det går att skriva en dynamisk sökväg till sin stylesheet?

<LINK REL="stylesheet" TYPE="text/css" HREF="<? echo $document_root ?>css/css_ie.css">

comprende?

  • Medlem
  • Stockholm
  • 2003-05-15 09:48

Typ såhär då:

<LINK REL="stylesheet" TYPE="text/css" HREF="<?php echo $_SERVER['DOCUMENT_ROOT']; ?>/css/css_ie.css">

$_SERVER['DOCUMENT_ROOT'] är webbserverns aktuella rotkatalog, t ex /Library/WebServer/Documents/ eller /Users/ivar/Sites/.

  • Medlem
  • Stockholm
  • 2003-05-15 17:29

Måste jag ändra root-katalog för att få ihop det?

Min ccs ligger i /Users/ivar/Sites/css/css_ie.css eller nåogt sånt..

med document-root såg adressen ut så här

<LINK REL="stylesheet" TYPE="text/css" HREF="/Library/WebServer/Documents/css/css_ie.css">
  • Medlem
  • Stockholm
  • 2003-05-15 17:39

Ah, du har rätt. Det verkar inte som att DOCUMENT_ROOT funkar med användarkatalogerna. Det kanske kan fixas med lite trix i httpd.conf.

Förresten är jag ju rätt dum i huvet. I en css-länk ska det självklart inte vara en lokal sökväg, utan en http-url.

Enklaste lösningen är att sätta en absolut sökväg i common.php: /~ivar/css/namnet.css

  • Medlem
  • Stockholm
  • 2003-05-15 17:43

Tackar! Det var den lösningen jag använde temporärt fastän det verkar ju nu som det är den lösningen som gäller !

Tack för hjälpen! Nu fungerar det ialla fall!

  • Medlem
  • Stockholm
  • 2003-05-15 17:59

Alternativet är väl att i varje script som kan laddas av webbläsaren lägger in en variabel som håller reda på var i strukturen det befinner sig, t ex såhär:

$path_to_root = './';

eller

$path_to_root = '../';

eller

$path_to_root = '../../';

beroende på hur djupt ner det ligger.

1
Bevaka tråden