|
|
Seit PHP 4.1.0 wird empfohlen,
externe Variablen
über die Superglobals, die weiter unten beschrieben werden, abzufragen.
Davor war man entweder auf die register_globals
-Einstelliung oder die Langformen der vordefinierten PHP-Arrays
($HTTP_*_VARS) angewiesen.
Seit PHP 5.0.0 können Sie die
Registrierung der langen von PHP
vordefinierten Arrays mit der Konfigurationsoption
register_long_arrays
abschalten.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie stattdessen $HTTP_SERVER_VARS.
$_SERVER ist ein Array, in dem Informationen über
Header, Pfade oder den Speicherort des Skripts gespeichert sind. Die
Einträge dieses Arrays werden vom Webserver generiert. Es gibt keine
Garantie, dass jeder Webserver alle diese Einträge erzeugt. Manche
Server werden Einträge auslassen oder andere einfügen, die hier
nicht aufgeführt sind. Ein grosser Teil dieser Variablen stammt aus
der CGI 1.1 Spezifikation.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_SERVER; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_SERVER_VARS notwendig ist.
$HTTP_SERVER_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_SERVER_VARS und $_SERVER
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_SERVER
und $HTTP_SERVER_VARS Arrays. Lesen Sie für weitere
Informationen das Kapitel über Sicherheit
Verwendung von Register Globals.
Diese individuellen globalen Variablen sind nicht automatisch global.
Möglicherweise finden Sie das eine oder andere der folgenden
Elemente nicht in $_SERVER. Beachten Sie, dass nur
wenige, falls überhaupt, verfügbar sind (oder von Bedeutung
sind) wenn sie PHP auf der Kommandozeile betreiben.
- 'PHP_SELF'
Der Name des aktuell ausgeführten Skripts, relativ zum
Wurzelverzeichnis des Servers. Zum Beispiel gibt
$_SERVER['PHP_SELF'] in einem Skript mit der
Adresse http://example.com/test.php/foo.bar
den Namen /test.php/foo.bar zurück.
Falls PHP auf der Kommandozeile ausgeführt wird, ist diese
Variable nicht verfügbar.
- 'argv'
In diesem Array sind die Argumente enthalten, die an ein Skript
übergeben wurden. Wenn das Skript auf der Kommandozeile
ausgeführt wird, haben Sie einen C-ähnlichen Zugriff auf die
Kommandozeilenparameter. Wenn es mit der GET-Methode
aufgerufen wird, enthält das Array den Abfragestring.
- 'argc'
Enthält die Anzahl der Kommandozeilenparameter, die an das
Skript übergeben wurden (falls es von der Kommandozeile aus
aufgerufen wurde).
- 'GATEWAY_INTERFACE'
Gibt an, welche Version der CGI Spezifikation der Server
benutzt, beispielsweise 'CGI/1.1'.
- 'SERVER_NAME'
Der Name des Server Hosts unter dem das aktuelle Skript
ausgeführt wird. Falls das Skript unter einem virtuellen Host
läuft, wird der Name, der für diesen virtuellen Host vergeben
wurde, angezeigt.
- 'SERVER_SOFTWARE'
Die Identifikation des Servers, mit der sich ein Server im
Header bei der Beantwortung einer Anforderung identifiziert.
- 'SERVER_PROTOCOL'
Name und Versionsnummer des Protokolls, über das die Seite
angefordert wurde. Z. B. 'HTTP/1.0';
- 'REQUEST_METHOD'
Welche Anforderungsmethode benutzt wurde, um auf die Seite
zuzugreifen, z. B. 'GET',
'HEAD', 'POST', 'PUT'.
- 'QUERY_STRING'
Der Abfragestring, falls vorhanden, mit dem die Seite
angefordert wurde.
- 'DOCUMENT_ROOT'
Das Wurzelverzeichnis des Webservers, unter dem das aktuelle
Skript ausgeführt wird, so wie es in der Konfigurationsdatei des
Webservers hinterlegt ist.
- 'HTTP_ACCEPT'
Der Inhalt des Accept:-Headers der aktuellen
Anforderung, falls dieser Header vorhanden ist.
- 'HTTP_ACCEPT_CHARSET'
Der Inhalt des Accept-Charset:-Headers der
aktuellen Anforderung, so vorhanden. Z. B.
'iso-8859-1,*,utf-8'.
- 'HTTP_ACCEPT_ENCODING'
Der Inhalt des Accept-Encoding:-Headers der
aktuellen Anforderung, so vorhanden. Beispiel:
'gzip'.
- 'HTTP_ACCEPT_LANGUAGE'
Der Inhalt des Accept-Language:-Headers der
aktuellen Anforderung, so vorhanden. Beispiel:
'en'.
- 'HTTP_CONNECTION'
Der Inhalt des Connection:-Headers der
aktuellen anforderung, so vorhanden. Beispiel: 'Keep-Alive'.
- 'HTTP_HOST'
Der Inhalt des Host:-Headers der aktuellen Anforderung,
so vorhanden.
- 'HTTP_REFERER'
Die Adresse der Seite (falls es eine gibt), die den Browser auf
die aktuelle Seite verwies. Dieser Header wird vom Browser
gesetzt, aber nicht von allen. Einige Browser bieten die
Möglichkeit, den HTTP_REFERER zu
modifizieren. Kurz, auf diesen Header kann man sich nicht
verlassen.
- 'HTTP_USER_AGENT'
Der Inhalt des User_Agent:-Headers der
aktuellen Anforderung, so vorhanden. Dies ist ein String, der
den Typ und Namen des Browsers angibt, der auf die Seite
zugreift. Ein typisches Beispiel ist:
Mozilla/4.5 [en] (X11; U; Linux 2.2.9
i586). Unter anderem kann man diesen Wert mit
get_browser() auslesen, um die Ausgabe einer
Seite auf den verwendeten Browser abzustimmen.
- 'REMOTE_ADDR'
Die IP-Adresse des Rechners, der die aktuelle Seite angefordert hat.
- 'REMOTE_HOST'
Der Hostname des Servers, von dem die aktuelle Seite geladen
wurde. Der reverse dns lookup basiert auf dem
REMOTE_ADDR-Header.
Anmerkung:
Um diese Variable zu erzeugen, muss Ihr Webserver entsprechend
eingestellt sein. Zum Beispiel muss beim Apache
HostnameLookups On in der httpd.conf aktiv
sein. Siehe auch unter gethostbyaddr().
- 'REMOTE_PORT'
Der Port, Über den der Rechner des Benutzers mit dem Webserver
kommuniziert.
- 'SCRIPT_FILENAME'
Der absolute Pfadname des aktuell ausgeführten Skripts.
Anmerkung:
Falls das Skript auf der Kommandozeile mit einem relativen
Pfad aufgerufen wird, wie z. B. file.php
oder ../file.php, enthält
$_SERVER['SCRIPT_FILENAME'] den relativen
Pfad, den der Benutzer angegeben hat.
- 'SERVER_ADMIN'
Der Wert, der in der Server Konfiguration der Direktive
SERVER_ADMIN (bei Apache) zugewiesen wurde. Falls das Skript
unter einem virtuellen Host läuft, wird der Wert angegeben, der
für diesen virtuellen Host angegeben wurde.
- 'SERVER_PORT'
Der Port, den der Server zur Kommunikation benutzt. Bei
Standardinstallationen ist dies der Port
'80'. Bei Verwendung von SSH ändert sich der
Wert zu Ihrem definierten SSH Port.
- 'SERVER_SIGNATURE'
Ein String, der bei Seiten, die vom Server generiert wurden, die
Server Version und den Namen des virtuellen Hosts enthält, falls
diese Option aktiviert ist.
- 'PATH_TRANSLATED'
Der Pfad zur aktuellen Datei im Dateisystem (nicht relativ zum
Wurzelverzeichnis des Webserbers), nachdem der Server eventuelle
Umwandlungen vom virtuellen ins reale System vorgenommen hat.
- 'SCRIPT_NAME'
Enthält den Pfad des aktuellen Skripts. Das ist nützlich für
Programme, die sich selber referenzieren.
- 'REQUEST_URI'
Der URI mit dem diese Seite aufgerufen wurde. Z. B. '/index.html'.
- 'PHP_AUTH_USER'
Wenn HTTP-Authentifizierung mit Apache als Modul benutzt wird,
enthält diese Variable den Benutzernamen, der vom Anwender
angegeben wurde.
- 'PHP_AUTH_PW'
Wenn HTTP-Authentifizierung mit Apache als Modul benutzt wird,
enthält diese Variable das Passwort, das vom Anwender angegeben
wurde.
- 'AUTH_TYPE'
Wenn HTTP-Authentifizierung mit Apache als Modul benutzt wird,
enthält diese Variable den Authentifizierungs-Typ.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_ENV_VARS.
Diese Variablen werden aus der Systemumgebung, in der der Parser
läuft in den globalen Namensraum Von PHP importiert. Viele davon
werden vom System generiert, unter dem der Parser läuft und
unterschiedliche Systeme benutzen unterschiedliche
Umgebungsvariablen. Eine verbindliche Liste anzugeben ist daher
unmöglich. Schauen Sie in der Dokumentation Ihres Systems nach den
dort definierten Umgebungsvaraiblen.
Andere Umgebungsvariablen einschließlich der CGI-Variablen, sind hier
aufgeführt, egal ob PHP als Servermodul oder CGI Prozess läuft.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_ENV; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_ENV_VARS notwendig ist.
$HTTP_ENV_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_ENV_VARS und $_ENV
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_ENV und
$HTTP_ENV_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_COOKIE_VARS.
Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit
HTTP-Cookies übergeben wurde. Es ist automatisch global in allen
Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_COOKIE; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_COOKIE_VARS notwendig ist.
$HTTP_COOKIE_VARS contains the same initial
information, but is not an autoglobal. (Note that
HTTP_COOKIE_VARS and $_COOKIE
are different variables and that PHP handles them as such)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_COOKIE und
$HTTP_COOKIE_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_GET_VARS.
Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit
der GET-Methode übergeben wurde. Es ist automatisch global in allen
Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_GET; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_GET_VARS notwendig ist.
$HTTP_GET_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_GET_VARS und $_GET
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_GET und
$HTTP_GET_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_POST_VARS.
Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit
der POST-Methode übergeben wurde. Es ist automatisch global in allen
Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_POST; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_POST_VARS notwendig ist.
$HTTP_POST_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_POST_VARS und $_POST
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_POST und
$HTTP_POST_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_POST_FILES.
Ein assoziatives Array mit Elementen, die in das aktuelle Skript
mit der HTTP-POST-Methode hochgeladen wurden. Es ist automatisch global
in allen Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_FILES; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_POST_FILES notwendig ist.
$HTTP_POST_FILES enthält dieselben Informationen,
ist aber nicht autoglobal.
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_FILES und
$HTTP_POST_FILES
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 neu eingeführt. Es gibt kein
entsprechendes Array in älteren Versionen.
Anmerkung:
Vor der PHP Version 4.3.0 waren die Informationen des Arrays
$_FILES auch im Array
$_REQUEST enthalten.
Ein assoziatives Aray, das die Inhalte der Arrays
$_GET, $_POST und
$_COOKIE enthält.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_REQUEST; in Funktionen oder Methoden
importieren, um darauf zuzugreifen.
Falls die Direktive register_globals
gesetzt ist,
sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von dem Array $_REQUEST.
Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_SESSION_VARS.
Ein assoziatives Array, das die Sessionvariablen für das aktuelle
Skript enthält. Mehr über die Verwendung dieses Arrays finden Sie bei
der Dokumentation zu den Session Funktionen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_SESSION; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_SESSION_VARS notwendig ist.
$HTTP_SESSION_VARS enthält dieselben
Informationen, ist aber nicht automatisch global.
Falls die Direktive
register_globals gesetzt ist,
sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_SESSION
und $HTTP_SESSION_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
$GLOBALS steht seit PHP 3.0.0 zur Verfügung.
Ein assoziatives Array, das Referenzen zu allen Variablen, die
gegenwärtig im globalen Gültigkeitsbereich des Skripts definiert
sind. Die Variablennamen sind die Indizes dieses Arrays.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $GLOBALS; in Funktionen oder Methoden
importieren, um darauf zuzugreifen.
$php_errormsg ist eine Variable, die den Text der
zuletzt aufgetretenen PHP Fehlermeldung enthält. Hierauf kann nur in
dem Gültigkeitsbereich zugegriffen werden, in dem der Fehler auftrat,
und nur dann, wenn die Direktive track_errors
in der Konfiguration aktiviert ist (standardmäßig ist diese Direktive
deaktiviert).
| |