PHP kézikönyv Előző 8. Fejezet. Változók Következő A PHP egy számos előre definiált változót biztosít az bármely futó szkript számára. Sokat ezek közül nem lehet teljes pontossságal dokumentálni, mert függnek a a futtató szervertől, a használt verziótól, a konfigurálástól, és más gyéb tényezőktől. Néhány ilyen változó nem elérhető, ha a PHP parancssorból fut. E tényezők ellenére az alábbi listában azok az előre definiált változók vannak felsorolva, amelyek a PHP 3 tipikus installálásakor elérhetők az Apache 1.3.6-ot használva. Az összes előre definiált változó kilistázható, és sok más hasznos információt is közöl a phpinfo(). Megjegyzés: Ez a lista nem teljes, nem is ez a célja. Ez csak egy útmutató arról, hogy milyen típusú előre definiált változók lehetnek. Ezek a változók az Apache webszerver változói. Ha másik szerveren fut a PHP, nincs rá garancia, hogy ugyanezek a változók akkor is rendelkezésre állnak: némelyik hiányozhat, esetleg itt nem szereplőket is biztosíthat a szerver. Számos a CGI 1.1 specifikációban dokumentált változókra biztosan lehet alapozni. Figyelni kell arra, hogy ha a PHP parancssorból (command line) használva a változók töredékének van csak értelme, ha egyáltalán definiáltak ilyen esetben. A server CGI specifikációjának verziója. Pl.: 'CGI / 1.1'. A gazdagép (host) neve, ami alatt a szkript fut. Ha a szkript virtuális host-on fut, a virtuális host neve. Serverazonosító sztring, amely a kérésekre (request) adott válasz (response) fejlécében (header) szerepel. Az oldal lekéréséhez használt protokoll neve és verziója pl. 'HTTP / 1.0' Az oldal eléréséhez használt kérési forma, pl.: 'GET', 'HEAD', 'POST', 'PUT'. Keresési kérdés, az oldalt meghívó URL-ben a? után szereplő rész, ha létezik. A www dokumentumok főkönyvtára, amely alatt a jelenlegi szkript fut. Ez a szerver konfigurációs fájljában meghatározott érték. Az aktuális kérés Accept: HTTP fejlécének tartalma, ha van ilyen. Ebben adja meg a böngésző, hogy milyen formátumokat képes fogadni. Az aktuális kérés Accept-Charset: HTTP fejlécének tartalma, ha van ilyen. pl. 'iso-8859-1,*,utf-8'. Az aktuális kérés Accept-Encoding: HTTP fejlécének tartalma, ha van ilyen. pl. 'gzip'. Az aktuális kérés Accept-Language: HTTP fejlécének tartalma, ha van ilyen. pl. 'en'. Az aktuális kérés Connection: HTTP fejlécének tartalma, ha van ilyen. pl. 'Keep-Alive'. Az aktuális kérés Host: HTTP fejlécének tartalma, ha éppen van ilyen. Annak az oldalnak az URL címe, ahonnan ide került a látogató. Ezt a látogató böngészőprogramja állítja be, de ezt nem minden böngésző és nem mindig teszi meg. Az aktuális User_Agent: HTTP fejlécének tartalma, ha van ilyen. Ez a string, amely meghatározza az oldal megtekintéséhez használt böngészőt, pl. Mozilla / 4.5 [en] (X11; U; Linux 2.2.9 i586). Sok más mellett ezt az értéket a fel lehet használni arra, hogy a get_browser() fügvénnyel az aktuális böngésző képességeinek megfelelően lehessen kialakítani az oldal megjelenését. Az az IP cím, ahonnan a látogató az oldalt lekérte. A látogató gépén a webszerverrel való kommunikációhoz használt port száma. A PHP szkript abszolút elérési útja a szerver gépen. A SERVER_ADMIN a kiszolgáló konfigurációs fájl direktíva értéke (Apache alatt). Ha a szkript egy virtuális host-on fut, akkor ez a virtuális host-hoz rendelt érték. A kiszolgálógépen a kiszolgáló kommunikációjában használt port száma. Alapértelmezés szerint ez a '80', de például SSL-t használva ez a biztonságos HTTP portnak a száma lesz. A kiszolgáló verziószámát és a virtuális host-ot tartalmazó sztring, ha engedélyezett. Ez a szöveg jelenik meg minden szerver által generált oldal alján. Hasonló értéket tartalmaz, mint a SCRIPT_NAME, de CGI verzió esetén ez jobb lehet az önhivatkozó kérdőívek készítésekor, mert egyes szervereken a SCRIPT_NAME tartalmazza a PHP bináris meghívási útvonalát is. A szkript a fájlrendszer szerinti (nem a document root-hoz viszonyított!) elérési útja. Ezt a kiszolgáló a virtuális - valós átalakítás után határozza meg. Az aktuális szkript elérési útja, ahogy az az URL-ben megjelenik. Hasznos a saját magukra mutató oldalakhoz. Az az URI, amellyel az oldalt lekérték. pl. '/ index.html'. A PHP globális változói közé kerülnek a PHP feldolgozót futtató környezet változói. Számos változót a shell szolgáltat, ami alatt a PHP fut. Mivel más-más rendszerek más-más shell-eket használnak, ezért egy pontos lista összeállítása lehetetlen. A használt shell dokumentációjában nézz utána az előre definiált környezeti változóknak! Más környezeti változók - beleértve a CGI változókat is - attól függően kerülnek be, hogy a PHP szerver modulként fut vagy CGI feldolgozóként. Ezeket a PHP maga állítja elő. A $HTTP_*_VARS változók csak akkor állnak rendelkezésre, ha a track_vars be van kapcsolva. Ha engedélyezted ezt a beállítást, ezek a változók mindig létrejönnek, még ha üresek is. Ez nem engedi a rosszindulatú felhasználóknak, hogy meghamasítsák a változókat. Megjegyzés: A PHP 4.0.3 verziótól kezdve a track_vars mindig be van kapcsolva, függetlenül a konfigurációs fájl beállításától. Megjegyzés: Az új szuper globális (Superglobals) változók 4.1.0 verziótól használhatók. További részletekért lásd a 4.1.0 verzió bejelentését Ezek a $_GET, $_POST, $_ENV, $_SERVER, $_COOKIE, $_REQUEST $_FILES és a $_SESSION tömbök, amelyek fesztelen megfogalmazásban szuper globális jelzővel illetik, mivel minden esetben használhatók tekintet nélkül az aktuális érvényességi körre. Emiatt a régi, nekik megfelelő $HTTP_*_VARS tömbök használata már nem javasolt. Ha a register_globals be van kapcsolva, ezek a változók globális változókként is létrejönnek, függetlenül a $HTTP_*_VARS tömböktől. Nézd meg idevonatkozó részletes információkért a biztonságról szóló Globálisan is elérhető változók (Register Globals) használata c. fejezetet! A szkriptnek átadott argumentumok tömbje. Ha a szkript parancssor alól futtatjuk, ez egy C-szerű hozzáférést biztosít a parancssor argumentumokhoz. Ha GET metódussal hívjuk, az URL kérdőjel utáni részét (query string) tartalmazza. A parancssori argumentumok számát tartalmazza (ha parancssorból futtatjuk). A most futó szkriptfájl neve, a document root-hoz képest relatív alakban. Ha a PHP parancssorból fut, ez a változó nem elérhető. Ez a változó a kérés útvonal információját is tartalmazza, ha az létezik, azaz a $PHP_SELF a "http: / /example.com / test.php / foo.bar" címre a következőt fogja adni: "/ test.php / foo.bar" HTTP cookie-kat (sütiket) tartalmazó asszociatív tömb. HTTP cookie-kat (sütiket) tartalmazó asszociatív tömb, amely minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. HTTP GET metódussal által szolgáltatott adatokat tartalmazó asszociatív tömb. HTTP GET metódussal által szolgáltatott adatokat tartalmazó asszociatív tömb, amely minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. HTTP POST metódussal által szolgáltatott adatokat tartalmazó asszociatív tömb. HTTP POST metódussal által szolgáltatott adatokat tartalmazó asszociatív tömb, amely minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. A HTTP POST metódussal feltöltött fájlokról tartalmaz információkat, asszociatív tömb. Lásd a POST metódusú feltöltések című részt további információkért a $HTTP_POST_FILES tartalmát és szerkezetét illetően. PHP 4.0.0-ban került a nyelvbe. A HTTP POST metódussal feltöltött fájlokról tartalmaz információkat, asszociatív tömb. Lásd a POST metódusú feltöltések című részt további információkért a $_POST Lásd a POST metódusú feltöltések című részt további információkért a $_POST tartalmát és szerkezetét illetően. Minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. A szülő / futtató környezet aktuális változóit tartalmazó asszociatív tömb. A szülő / futtató környezet aktuális változóit tartalmazó asszociatív tömb, amely minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. A HTTP szervertől érkező változókkal feltöltött asszociatív tömb. Ezek a változók megfelelnek a fent említett Apache változóknak. A HTTP szervertől érkező változókkal feltöltött asszociatív tömb, amely minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. Az aktuális szkripthez tartozó session változókat tartalmazó asszociatív tömb. Az aktuális szkripthez tartozó session változókat tartalmazó asszociatív tömb, amely minden hatókörben elérhető. A _SESSION tömbben új bejegyzések létrehozásával automatikusan regisztrálhatók értékek, mint a session_register() segítségével. PHP 4.1.0-ban került a nyelvbe. A GET, POST és Cookie változókból összeállított asszociatív tömb. Más szóval, bármilyen a felhasználótól ügyféltől érkező adatot tartalmaz, ami biztonsági szempontból nem megbízható. Minden hatókörben elérhető. PHP 4.1.0-ban került a nyelvbe. Előző Tartalom Következő Változók Fel Változók hatásköre