$_SERVER

 

PHP -> Preddefinované premenné PHP -> $_SERVER


Poznámka: Predstavené v PHP 4.1.0. V skorších verziách používajte $HTTP_SERVER_VARS.

$_SERVER je pole obsahujúce informácie o hlavičkách, cestách a umiestneniach skriptu. Položky v tomto poli vytvára webserver. Nie je žiadna záruka, že každý webserver bude poskytovať niektoré z nich; servery môžu niektoré vynechať alebo poskytovať iné, tu neuvedené.

Toto je 'superglobálna' alebo aicky globálna premenná. To jednoducho znamená, že je dostupná vo všetkých oblastiach po celom skripte. Nemusíte použiť global $_SERVER;, aby ste ju sprístupnili vo funkciách a metódach, ako to robíte s $HTTP_SERVER_VARS.

$HTTP_SERVER_VARS obsahuje rovnaké počiatočné informácie, ale nie je autoglobálna. (Všimnite si, že $HTTP_SERVER_VARS a $_SERVER sú odlišné premenné, a tak ich aj PHP spracováva)

Ak je nastavená direktíva register_globals, potom sa tieto premenné tiež sprístupnia v globálnej oblasti skriptu; t.j., oddelí polia $_SERVER a $HTTP_SERVER_VARS. Súvisiace informácie si pozrite v kapitole bezpečnosti pod titulkom Používanie globálov registra. Tieto individuálne globály nie sú autoglobály.

Niektoré z následujúcich elementov môžete, ale nemusíte nájsť v $_SERVER. Niektoré z nich, ak vôbec sú, budú k dispozícii (alebo budú mať nejaký význam), ak PHP beží v príkazovom riadku.

'PHP_SELF'
Názov súboru práve spracovávaného skriptu, vztažný na koreň dokumentu. Na príklad, $_SERVER['PHP_SELF'] v skripte na adrese http://example.com/test.php/foo.bar by bol /test.php/foo.bar.

Ak PHP beží ako procesor príkazového riadku, táto premenná nie je dostupná.
'argv'
Pole argumentov predané skriptu. Keď je skript spustený v príkazovom riadku, toto dáva C-štýlom prístup k parametrom príkazového riadka. Keď sa volá cez metódu GET, bude obsahovať reťazec dotazu.
'argc'
Obsahuje počet parametrov príkazového riadka predaných skriptu (ak beží v príkazovom riadku).
'GATEWAY_INTERFACE'
akú revíziu CGI špecifikácie server používa; t.j. 'CGI/1.1'.
'SERVER_NAME'
Názov hostu servera, pod ktorým sa aktuálny skript spracováva. Ak skript beží na virtuálnom hoste, toto bude hodnota definovaná pre virtuálny host.
'SERVER_SOFTWARE'
Identifikačný reťazec servera, udaný v hlavičkách, keď odpovedá na požiadavky.
'SERVER_PROTOCOL'
Názov a revízia informačného protokolu, cez ktorý sa stránka požadovala; t.j. 'HTTP/1.0';
'REQUEST_METHOD'
Ktorá metóda požiadavky sa použila na prístup ku stránke; t.j. 'GET', 'HEAD', 'POST', 'PUT'.
'QUERY_STRING'
Reťazec dotazu, ak je, cez ktorý sa stránka sprístupnila.
'DOCUMENT_ROOT'
Koreňový adresár dokumentu, pod ktorým sa skript spracováva, ako je definované v konfiguračnom súbore servera.
'HTTP_ACCEPT'
Obsah hlavičky Accept: z aktuálnej požiadavky, ak nejaká je.
'HTTP_ACCEPT_CHARSET'
Obsah hlavičky Accept-Charset: z aktuálnej požiadavky, ak nejaká je. Príklad: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Obsah hlavičky Accept-Encoding: z aktuálnej požiadavky, ak nejaká je. Príklad: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Obsah hlavičky Accept-Language: z aktuálnej požiadavky, ak nejaká je. Príklad: 'en'.
'HTTP_CONNECTION'
Obsah hlavičky Connection: z aktuálnej požiadavky, ak nejaká je. Príklad: 'Keep-Alive'.
'HTTP_HOST'
Obsah hlavičky Host: z aktuálnej požiadavky, ak nejaká je.
'HTTP_REFERER'
Adresa stránky (ak je), ktorá odkazovala užívateľského agenta na aktuálnu stránku. Toto nastaví užívateľský agent. Nie všetky užívateľské agenty toto nastavia a niektoré poskytujú možnosť modifikovať HTTP_REFERER ako vlastnosť. V skratke, nedá sa tomu naozaj veriť.
'HTTP_USER_AGENT'
Obsah hlavičky User_Agent: z aktuálnej požiadavky, ak nejaká je. Je to reťazec zaznamenavajúci existenciu užívateľského agenta, ktorý sprístupňuje stránku. Typický príklad je: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Medzi iným, túto hodnotu môžete použiť s get_browser() k prispôsobeniu výstupu vašej stránky schopnostiam užívateľského agenta.
'REMOTE_ADDR'
IP adresa, z ktorej si užívateľ prezerá aktuálnu stránku.
'REMOTE_HOST'
Názov Hostu, z ktorého si užívateľ prezerá aktuálnu stránku. Opačný dns pohľad je založený na REMOTE_ADDR užívateľa.

Poznámka: Vás web server musí byť nakonfigurovaný tak, aby túto premennú vytvoril. Napr. v Apache musíte mať HostnameLookups On v httpd.conf, aby mohol existovať. Tiež pozri gethostbyaddr().
'REMOTE_PORT'
Port používaný na komunikáciu s web serverom na počítači užívateľa.
'SCRIPT_FILENAME'
Absolutná cesta k práve spracovávaného skriptu.
'SERVER_ADMIN'
Hodnota daná SERVER_ADMIN (pre Apache) direktívu v konfiguračnom súbore web servera. Ak skript beží na virtuálnom hoste, bude to hodnota definovaná pre tento virtuálny host.
'SERVER_PORT'
Port na počítači servera používaný web serverom na komunikáciu. Pre default nastavenie to bude '80'; použitie SSL, na príklad, to zmení na čokoľvek, čo váš definovaný bezpečný HTTP port je.
'SERVER_SIGNATURE'
Reťazec obsahujúci verziu servera a názov virtuálneho hostu, ktoré sa pridajú na na serverom-generované stránky, ak je to aktivované.
'PATH_TRANSLATED'
Cesta súborového systému (nie koreňového dokumentu) k aktuálnemu skriptu, po tom, čo server urobil nejaké virtual-to-real mapovanie.
'SCRIPT_NAME'
Obsahuje cestu k aktuálnemu skriptu. Je to užitočné pre stránky, ktoré musia ukazovať samé na seba.
'REQUEST_URI'
URI, ktorá bola daná, aby bol k tejto stránke prístup; na príklad '/index.html'.
'PHP_AUTH_USER'
Keď bežíte pod Apache ako modulom vykonávajúcim HTTP autentifikácie, táto premenná je nastavená na meno poskytnuté užívateľom.
'PHP_AUTH_PW'
Keď bežíte pod Apache ako modulom vykonávajúcim HTTP autentifikácie, táto premenná je nastavená na heslo poskytnuté užívateľom.
'AUTH_TYPE'
Keď bežíte pod Apache ako modulom vykonávajúcim HTTP autentifiácie, táto premenná je nastavená na typ autentifikácie.



Príklady


echo "Nachádzate sa na stránke ".$_SERVER['HTTP_HOST'];


echo "pole $"."_SERVER obsahuje:<br />";
echo "<textarea rows='30' cols='120'>";
print_r($_SERVER);
echo "</textarea>";


Pozri aj


Preddefinované premenné PHP



vytlačiť článok  hľadať súvisiace články 

Vyhľadávanie na stránke
Reklama
Náhodný obrázok
náhodný obrázok
Kontakty

Martin Kasman, M Software
Smreková 3095/23
Email: martin@kasman.sk

Telefón: 0908 270 294