"Kenneth Brun Nielsen" <kenneth@pbk.dk> skrev i en meddelelse
news:a8cte5$1br$1@eising.k-net.dk...
> Tak for svarene!
>
> Jeg har brugt lang tid på at afprøve jeres forslag, samt kombinationer af
> disse, men intet af det ville virke for mig. Min php-fortolker er version
> 4.0.6, og det hører med til historien, at systemvariablen blev kaldt fra
en
> funktion, der var i en require't fil. Sidstnævnte oplysning er
> tilsyneladende meget relevant (har jeg fundet ud af), idet jeg afprøvede
fx.
> echo $HTTP_SERVER_VARS['PHP_SELF']; direkte i et script - hvilket gav det
> forventede output (sti + filnavn) - men når kommandoen blev kaldt fra den
> require'de funktion var outputtet, som nævnt, NULL.
> Jeg har dog fået lortet til at virke ved at benytte flg. syntax:
> $path = getenv('SCRIPT_NAME');
> og efterfølgende returnere indholdet af variablen...
>
> Håber ovenstående giver mening. Er der iøvrigt nogen, der har et
fornuftigt
> bud på, hvorfor jeg ikke kan få de nævnte forslag til at virke? I så fald
> vil jeg gerne høre det!
Ja... den relevante information er ikke at dine forsøg ligger i en fil, som
du requirer - den relevante information er at din forsøg var/er inden i en
funktion. Hvis du kører PHP 4.0.6, bør du anvende
$HTTP_SERVER_VARS['REQUEST_URI'], men $HTTP_SERVER_VARS er ikke en
superglobal som $_SERVER er det - og $_SERVER er først tilgængelig fra PHP
4.1.x. Der er tre måder du kan løse det problem på, du kan umiddelbart
inden, du forsøger at tilgå $HTTP_SERVER_VARS fortælle at den er i global
scope, ved at skrive:
global $HTTP_SERVER_VARS
eller du kan vælge at anvende den superglobal der er, og så tilgå variablen:
$GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI'],
eller du kan bruge den metode som du har brugt med at anvende funktionen
getenv('REQUEST_URI'), som jeg personligt ville foretrække, fordi der er
størst sandsynlighed for at denne også virker efter næste gang PHP folkene
for en fiks ide om hvordan tingene bør gøres (indsæt selv små irriterede
lyde og brok over "PHP-folkene" her).
Håber at jeg har ret i at det er det der er galt, og at du kan bruge svaret
til noget - selvom det kommer lidt sendt.
MVH Per Thomsen,
http://www.pert.dk/
>
> Kenneth
>
>