language variables predefined VNYM6K24OQZ5KEN5S3TH3END4YFF4WHCFDPJS3Y


Zmienne PredefiniowanePodręcznik PHPPoprzedniRozdział 7. ZmienneNastępnyZmienne Predefiniowane PHP udostępnia dużą ilość predefiniowanych zmiennych dla każdego pracującego skryptu. Jednakże wiele spośród tych zmiennych nie może być w pełni objaśnionych, gdyż są zależne od rodzaju serwera, jego wersji i ustawień i innych czynników. Niektóre z tych zmiennych nie będą dostępne dla skryptów PHP uruchomionych z linii poleceń. Niezależnie od wymienionych czynników, poniżej przedstawiamy listę predefiniowanych zmiennych, dostępnych w typowej instalacji PHP 3, działającej jako moduł typowej instalacji Apache 1.3.6. Dla zapoznania się ze wszystkimi predefiniowanymi zmiennymi (i mnóstwem innych, użytecznych informacji) proszę użyć phpinfo(). Notatka: Poniższa lista nie jest i nie będzie wyczerpująca. Jest to wyłącznie wskazówka, jakie rodzaje predefiniowanych zmiennych możesz użyć w swoim skrypcie. Zmienne Apache'a Zmienne te dostarczane są przez serwer www Apache. Jeśli używasz innego serwera, nie ma żadnej gwarancji, że zmienne te będą dostępne. Inny serwer może pominąć jakąś zmienną lub dostarczać zmienne inne niż te. Jakkolwiek spora część tych zmiennych jest zarejestrowana w specyfikacji CGI 1.1, więc dostęp do nich powinien być możliwy. Pamiętaj, że tylko kilka, jeśli w ogóle, spośród tych zmiennych jest dostępnych (albo będzie mieć jakiekolwiek znaczenie) kiedy skrypt PHP jest uruchomiony z linii poleceń. $GATEWAY_INTERFACE Określa wersję specyfikacji CGI obsługiwaną przez serwer, np. "CGI/1.1". $SERVER_NAME Nazwa hosta serwera, na którym skrypt jest wykonywany. Jeśli skrypt pracuje na hoście wirtualnym (ang. virtual host), zmienna będzie zawierać nazwę hosta wirtualnego. $SERVER_SOFTWARE Napis identyfikujący serwer, wysyłany z nagłówkami przy odpowiedzi na zapytanie. $SERVER_PROTOCOL Nazwa i wersja protokołu informacyjnego, przez który zostało wysłane zapytanie, np. "HTTP/1.1". $REQUEST_METHOD Która metoda została użyta przy zapytaniu o dokument, np. "GET", "HEAD", "POST". $QUERY_STRING Łańcuch zapytania (np. ?foo=bar), o ile istnieje, jaki został przesłany z zapytaniem o stronę. $DOCUMENT_ROOT Folder główny na serwerze, taki jak określony w pliku konfiguracyjnym serwera. $HTTP_ACCEPT Zawartość nagłówka Accept: z aktualnego zapytania, o ile taki występuje. $HTTP_ACCEPT_CHARSET Zawartość nagłówka Accept-Charset: z aktualnego zapytania, o ile taki występuje, np. "iso-8859-1,*,utf-8". 'iso-8859-1,*,utf-8'. $HTTP_ACCEPT_ENCODING Zawartość nagłówka Accept-Encoding: z aktualnego zapytanie, o ile taki występuje, np. "gzip". $HTTP_ACCEPT_LANGUAGE Zawartość nagłówka Accept-Language: z aktualnego zapytanie, o ile taki występuje, np. "en". $HTTP_CONNECTION Zawartość nagłówka Connection: z aktualnego zapytanie, o ile taki występuje, np. "Keep-Alive". $HTTP_HOST Zawartość nagłówka Host: z aktualnego zapytanie, o ile taki występuje. $HTTP_REFERER Adres strony (o ile występuje) z której przeglądarka przeszła do tej strony. Nagłówek jest tworzony przez przeglądarkę użytkownika; nie wszystkie przeglądarki udostępniają taką informację. $HTTP_USER_AGENT Zawartość nagłówka User_Agent: z aktualnego zapytania, o ile taki występuje. Jest to napis identyfikujący oprogramowanie klienckie używane do obejrzenia danej strony, np. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Można użyć tej informacji w połączeniu z get_browser(), aby dopasować stronę do możliwości przeglądarki użytkownika. $REMOTE_ADDR Numer IP zdalnego użytkownika przeglądającego stronę. $REMOTE_PORT Port używany na zdalnej maszynie, przez który następuje komunikacja z serwerem. $SCRIPT_FILENAME Bezwzględna ścieżka do aktualnie wykonywanego skrytpu. $SERVER_ADMIN Wartość podana w dyrektywie SERVER_ADMIN (dla Apache'a) w pliku kofiguracyjnym serwera. Jeśli skrypt jest uruchomiony na hoście wirtualnym, wtedy będzie to wartość określona dla tego hosta wirtualnego. $SERVER_PORT Port na serwerze, używany przez serwer www do komunikacji. Domyślnie jest to "80"; przy użyciu SSL, na przykład, będzie to numer portu na którym odbywają się zabezpieczone połączenia HTTP. $SERVER_SIGNATURE Napis zawierający nazwę i wersję serwera, oraz nazwę wirtualnego hosta, który jest dodawany do stron generowanych przez serwer, o ile włączony. $PATH_TRANSLATED Bezwzględna ścieżka do pliku, oparta na systemie plików (a nie wychodząca z folderu głównego serwera), określona po wykonaniu przez serwer ewentualnego mapowania ścieżki wirtualnej do rzeczywistej. $SCRIPT_NAME Zawiera ścieżkę do aktualnego skryptu. Przydatne przy stronach, które mają wskazywać na siebie same. $REQUEST_URI URI, który został podany, aby uzyskać dostęp do aktualnej strony, np. "/index.html". Zmienne środowiskowe Te zmienne są importowane do przestrzeni nazw globalnych PHP ze środowiska w jakim pracuje parser PHP. Wiele z nich jest udostępnianych przez powłokę systemu, w którym pracuje PHP, a ponieważ różne systemy używają różnych powłok, ścisła lista nie jest możliwa. Zapoznaj się z dokumentacją twojej powłoki (shella), aby dowiedzieć się, jakie zmienne środowiskowe ona udostępnia. Niektóre zmienne środowiskowe zawierają zmienne CGI, w zależności od tego czy PHP pracuje jako moduł serwera, czy skrypt CGI. Zmienne PHP Zmienne te tworzone są przez PHP. Zmienne $HTTP_*_VARS są dostępne tylko, jeśli dyrektywa konfiguracyjna track_vars jest włączona. Kiedy dyrektywa jest włączona, zmienne są zawsze tworzone, nawet jeśli są pustymi tablicami. Zabezpiecza to przed złośliwymi użytkownikami, którzy mogliby podszywać swoje wartości pod te zmienne. Notatka: Od PHP 4.0.3 dyrektywa track_vars jest zawsze włączona, niezależnie od wpisu w pliku konfiguracyjnym. Jeśli dyrektywa register_globals jest włączona, wtedy te zmienne będą również dostępne jako zmienne globalne, tzn. niezależnie od tablic $HTTP_*_VARS. Dyrektywa ta powinna być używana ostrożnie i wyłączona, jeśli to możliwe. O ile zmienne $HTTP_*_VARS są bezpieczne, o tyle ich odpowiedniki w postaci zmiennych globalnych mogą zostać nadpisane przez argumenty przekazane od klienta, możliwie, że ze zwykłej złośliwości użytkownika. Jeśli nie możesz wyłączyć register_globals, musisz podjąć wszystkie niezbędne kroki w celu zabezpieczenia danych przed sfałszowaniem. $argv Tablica argumentów przekazanych do skryptu. Kiedy skrypt jest uruchamiany z linii poleceń, daje ona dostęp w stylu języka C do przełączników, z jakimi został wywołany skrypt. Kiedy skrypt zostanie wywołany metodą GET, tablica będzie zawierać łańcuch znaków zapytania (query string). $argc Liczba argumentów przekazanych do skryptu (jeśli uruchamiany z linii poleceń). $PHP_SELF Nazwa pliku aktualnie wykonywanego skryptu, ze ścieżką względną od głównego katalogu (document root). Jeśli PHP jest wywołane z linii poleceń, zmienna jest niedostępna. $HTTP_COOKIE_VARS Tablica asocjacyjna zmiennych przekazanych do skryptu przez ciasteczka HTTP. $HTTP_GET_VARS Tablica asocjacyjna zmiennych przekazanych do skryptu metodą GET protokołu HTTP. $HTTP_POST_VARS Tablica asocjacyjna zmiennych przekazanych do skryptu metodą POST protokołu HTTP. $HTTP_POST_FILES Tablica asocjacyjna zmiennych zawierających informację o plikach wysłanych do serwera (uploadowanych) metodą POST. Zobacz wysyłanie plików metodą POST aby dowiedzieć się więcej na temat zawartości $HTTP_POST_FILES. $HTTP_POST_FILES jest dostępna tylko w PHP 4.0.0 i późniejszych. $HTTP_ENV_VARS Tablica asocjacyjna zmiennych przekazanych do skryptu ze środowiska operacyjnego serwera. $HTTP_SERVER_VARS Tablica asocjacyjna zmiennych przekazanych do skryptu z serwera HTTP. Zmienne te są analogiczne do zmiennych Apache'a, opisanych powyżej. PoprzedniSpis treściNastępnyZmiennePoczątek rozdziałuZasięg zmiennych

Wyszukiwarka

Podobne podstrony:
language variables predefined
language variables predefined
language variables
language constants predefined
language variables
language constants predefined
language variables scope
language variables variable
language variables scope
language variables external
language variables external
language variables scope
language variables
language constants predefined
language variables variable
language variables external
language variables

więcej podobnych podstron