Ændre DOCUMENT_ROOT

Tags:    php

Hej
Jeg skal lave nogle forbedringer på mit website, men for at kunne benytte samme fil til menuen i toppen har jeg brugt $_SERVER['DOCUMENT_ROOT']/index.php?page_id='.$page_id som værdien af href til mine links i menu. Dog virker dette ikke når jeg trækker den ned i localhost, da den ligger i en undermappe. Kan jeg ikke lavet noget, ligesom der er ved CMS-systemer, som f.eks. Prestashop, hvor jeg i min config-fil kan fortælle den hvad rodden af mit website er?
Når jeg sidder i localhost(MAMP), så er document_root jo ikke localhost/sidenavn, men derimod blot localhost.
Hvordan kan jeg nemmest rette dette til så jeg kan styre det når den ligger lokalt?



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Jeg vil så fraråde at sætte $_SERVER til noget som helt.

Jeg gør sådan her :

Fold kodeboks ind/udPHP kode 




du kan fjerne "$_SERVER['DOCUMENT_ROOT']/" så det bare er 'index.php?page_id='.$page_id



Tak for jeres svar. Var ikke klar over at jeg kunne ændre værdien af $_SERVER['DOCUMENT_ROOT'] som om det var en ganske almindelig variabel. Troede at den fik sin værdi automatisk. Jeg har ændret den til en bestemt værdi, så nu kan jeg styre det.
Tak for tippet Ronny :)
@dan - Ja, men når jeg så skal ind i en undermappe til mit site, så er alle menuer osv. væk.



nåå var mit indlæg så slemt ?? -3 :)
$_SERVER['DOCUMENT_ROOT'] er et ganske alm globalt array man kan ændre som man lyster (gøres normalt sjældent), hvor der bliver sat nogle nøgler af apache og PHP.
nogle gange kan det være nødvendigt at ændre/sette $_SERVER['DOCUMENT_ROOT'] feks hvis du har installeret PHP på en IIS, den opretter netop ikke $_SERVER['DOCUMENT_ROOT'] da det er en predefineret nøgle i apache serveren.
http://stackoverflow.com/questions/9151949/root-directory-with-php-on-apache-and-iis




Tak for jeres svar. Var ikke klar over at jeg kunne ændre værdien af $_SERVER['DOCUMENT_ROOT'] som om det var en ganske almindelig variabel. Troede at den fik sin værdi automatisk. Jeg har ændret den til en bestemt værdi, så nu kan jeg styre det.
Tak for tippet Ronny :)
@dan - Ja, men når jeg så skal ind i en undermappe til mit site, så er alle menuer osv. væk.

Ja, derfor jeg lavede det om til et relativt link ;)

Og så vidt jeg ved, behøver du heller ikke f.eks. index.php ... så du kan lave det til "?page_id='.$page_id"



Jeg tror bare det kunne give problemer senere hvis man sætter værdien af $_SERVER og $_POST og $_GET osv selv.

Hvis nu man forventer at $_POST['data'] indeholder noget data fra en formular som er sendt men så et sted i koder sættes men $_POST['data'] = "noget andet".

Så er det nok bedre at...

Fold kodeboks ind/udPHP kode 

Så kan man manipuler med $data og altid regne med at $_POST['data'] er den oprindelige data.



Indlæg senest redigeret d. 21.01.2013 18:16 af Bruger #13010
prøv
$_SERVER['DOCUMENT_ROOT'] = "ny/sti/til/localhost";
i toppen af din fil



t