Vordefinierte Variablen

PHP bietet jedem ausgeführtem Skript eine Vielzahl von vordefinierten Variablen an . Viele dieser Variablen können jedoch nicht vollständig erläutert werden , da sie abhängig sind vom Web-Server , der Version und dem Setup des Web - Servers sowie weiteren Faktoren . Einige dieser Variablen stehen nicht zur Verfügung , wenn PHP-Skripte per Kommando - Zeilen-Aufruf ausgeführt werden .

Ungeachtet dieser Faktoren folgt nun eine Liste von vordefinierten Variablen innerhalb einer Basis-PHP 3 - Installation als Modul und einer Basis-Installation des Apache -Web-Servers in der Vers . 1.3.6 .

Eine Liste aller vordefinierten Variablen ( und weitere nützliche Informationen ) erhalten sie durch Lesen der Infos zu (und den Gebrauch ) der phpinfo( ) -Funktion .

Anmerkung : Diese Liste ist weder vollständig noch erhebt sie Anspruch auf Vollständigkeit . Sie dient lediglich als Anleitung zu den möglicherweise zu erwartenden Arten von vordefinierten Variablen und dem Zugriff darauf .

Apache-Variablen

Diese Variablen werden durch den Apache -Web-Server erzeugt . Sollten sie einen anderen Web-Server nutzen , gibt es keine Garantie , dass dieser die selben Variablen unterstützt . Es könnten einige sein ; es könnten aber auch hier nicht aufgeführte sein . Viele dieser Variablen werden in den CGI 1.1 Spezifikationen aufgeführt . Darauf sollten sie vorbereitet sein .

Beachten Sie , dass nur wenige , wenn überhaupt , dieser Variablen zur Verfügung stehen ( oder tatsächlich eine beliebige Bedeutung haben ) , wenn Sie PHP per Kommandozeile aufrufen .

$GATEWAY_INTERFACE

Die Revision der CGI-Spezifikation , die der Web-Server benutzt , z.B . ' CGI / 1.1 ' .

$SERVER_NAME

Der Host-Name des Web-Servers , der das Skript ausführt . Das kann auch der Name eines virtuellen Servers sein .

$SERVER_SOFTWARE

Der Identifikations-String des Web-Servers ( aus den Headern ) , sobald er Anforderungen beantwortet .

$SERVER_PROTOCOL

Name und Revision des Informations-Protokolls , über das die Seite angefordert wurde , z.B . ' HTTP / 1.0 ' .

$REQUEST_METHOD

Welche Methode zum Zugriff auf die Seite benutzt wurde , z.B . ' GET' , 'HEAD' , 'POST' , 'PUT ' .

$QUERY_STRING

Der Abfrage -( Query -)String (falls vorhanden ) , mit dem auf die Seite zugegriffen wurde .

$DOCUMENT_ROOT

Das Verzeichnis des gerade ausgeführten Skripts aus Sicht des in der Konfigurations-Datei des Servers definierten Dokument-Wurzel-Verzeichnisses .

$HTTP_ACCEPT

Inhalt des Accept : -Headers der aktuellen Anforderung ( so es einen solche Header gibt ) .

$HTTP_ACCEPT_CHARSET

Inhalt des Accept-Charset : -Headers der aktuellen Anforderung ( sofern es einen gibt ) . Beispiel : ' iso-8859-1,*,utf-8 ' .

$HTTP_ACCEPT_ENCODING

Inhalt des Accept-Encoding : -Headers der aktuellen Anforderung ( wenn es einen gibt ) . Beispiel : ' gzip ' .

$HTTP_ACCEPT_LANGUAGE

Inhalt des Accept-Language : -Headers in der aktuellen Anforderung , sofern dieser Header existiert . Beispiel : ' en ' .

$HTTP_CONNECTION

Inhalt des Connection : -Headers des aktuellen Request , so er vorhanden ist . Beispiel : ' Keep-Alive ' .

$HTTP_HOST

Inhalt des Host : -Headers der aktuellen Anforderung , wenn er existiert .

$HTTP_REFERER

Die Adresse ( URL ) - sofern vorhanden - der Seite , von der aus auf die aktuelle Seite gesprungen wurde . Dieser wird vom Browser des Benutzers gesetzt . Nicht alle Browser unterstützen dies .

$HTTP_USER_AGENT

Inhalt der User_Agent : -Header-Angabe der aktuellen Anfrage ( wenn eine Angabe existiert ) . Dabei handelt es sich um eine Zeichenkette , welche der Browser benennt , mit dem die aktuelle Seite aufgerufen wurde , z.B . Mozilla / 4.5 [ en ] (X11 ; U ; Linux 2.2.9 i586 ) . Abgesehen von anderen Dingen können sie diesen Wert zusammen mit der get_browser( ) Funktion dazu verwenden , ihre Web-Seiten in Abhängigkeit von den Möglichkeiten des jeweils benutzten Browsers anzeigen zu lassen .

$REMOTE_ADDR

Die IP-Adresse , von der aus gerade auf die Web-Seite zugegriffen wird .

$REMOTE_PORT

Der Port , der zum Zugriff auf ihren Web-Server seitens des Anwender-Computers benutzt wird .

$SCRIPT_FILENAME

Der absolute Pfadname des gerade ausgeführten Skripts .

$SERVER_ADMIN

Der Inhalt der in der Konfigurations-Datei des Web-Servers ( Apache ) stehenden Angabe zum SERVER_ADMIN . Bei virtuellen Hosts der dafür eingetragene Wert .

$SERVER_PORT

Der vom Server für den Web-Server benutzte Kommunikations - Port ( normalerweise '80' ) . Verwenden sie z.B . SSL , wird dieser Port derjenige sein , den sie für sicheres HTTP definiert haben .

$SERVER_SIGNATURE

Sofern eingeschaltet , enthält diese Zeichenkette die Server - Version und den virtuellen Host-Namen . Sie wird den durch den Server generierten Seiten hinzu gefügt .

$PATH_TRANSLATED

In Abhängigkeit vom Datei - / File-System der Pfad des aktuellen Skripts , nachdem der Server das virtuelle Mapping in ein reales Mapping umgesetzt hat ( nicht der Dokument-Wurzel-Pfad ) .

$SCRIPT_NAME

Enthält den Pfad des aktuellen Skripts . Nützlich für Seiten , die auf sich selbst verweisen müssen .

$REQUEST_URI

Die URI , die durch den Zugriff auf die aktuelle Seite gegeben ist , z.B . ' / index.html ' .



Umgebungs- / Environment-Variablen

Diese Variablen werden aus der Umgebung , in der PHP läuft , in den globalen Namensbereich von PHP importiert . Viele werden durch die jeweilige Shell , in der PHP läuft , unterstützt bzw . gebildet . Da es verschiedenste Systemumgebungen mit den unterschiedlichsten Shell`s gibt , ist es nicht möglich , eine abschließende Liste der definierten Umgebungs-Variablen aufzustellen . Lesen sie deshalb in der Anleitung zu ihrer Shell nach , um eine Liste dieser systembezogenen Variablen zu erhalten .

Andere Umgebungs-Variablen beinhalten die CGI-Variablen , die ohne Rücksicht darauf , ob PHP als Web-Server-Modul oder im CGI-Modus läuft , gesetzt werden .

PHP-Variablen

Diese Variablen werden durch PHP selbst erzeugt . $HTTP_*_VARS Variablen stehen nur zur Verfügung , wenn die Option track_vars in der php.ini auf " on " gesetzt ist . Wenn dies der Fall ist , werden diese Variablen immer gesetzt , selbst wenn es leere Arrays sind . Das verhindert , dass ein böswilliger Nutzer diese Variablen manipuliert .

Anmerkung : Seit PHP 4.0.3 ist track_vars immer aktiviert , ohne Rücksicht auf die Einstellungen in der Konfigurationsdatei .

Anmerkung : Die neuen " Superglobals " stehen seit der PHP Version 4.1.0 . zur Verfügung . Im 4.1.0 Release Announcement können Sie mehr Details nachlesen . Dieses sind die Arrays $_GET , $_POST , $_ENV , $_SERVER , $_COOKIE , $_REQUEST $_FILES und $_SESSION und werden informell als Superglobals bezeichnet , weil sie immer zur Verfügung stehen , ohne Berücksichtigung des Geltungsbereichs.Damit sind die alten , beziehungsweise die $HTTP_*_VARS Arrays veraltet .

Wenn register_globals aktiviert ist,stehen auch diese Variablen im globalen Namensbereich des Skripts zur Verfügung ; z.B . getrennt von den Arrays $HTTP_*_VARS und $_* . Verwandte Informationen erhalten Sie im Kapitel über Sicherheit unter dem Abschnitt Verwendung von Register Globals .

$argv

Ein Array von Argumenten , die dem Skript übergeben werden . Wird das Skript an der Befehlszeile aufgerufen , ermöglicht dies C-ähnlichen Zugriff auf die Kommando - Zeilen-Parameter . Beim Aufruf per GET-Methode enthält dieses Array die Abfragewerte .

$argc

Anzahl der per Kommando-Zeile dem Skript übergebenen Parameter ( wenn von dort aufgerufen ) .

$PHP_SELF

Der Dateiname des gerade ausgeführten Skripts , relativ zum Wurzel-Verzeichnis des Dokuments . Bei Kommando-Zeilen - Aufrufen ist diese Variable nicht verfügbar .

$HTTP_COOKIE_VARS

Ein assoziatives Array von Variablen , das dem aktuellen Skript über HTTP-Cookies übergeben wurde .

$_COOKIE

Ein assoziatives Array von Variablen , das dem aktuellen Skript über HTTP-Cookies übergeben wurde . Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .

$HTTP_GET_VARS

Ein assoziatives Array von Variablen , das dem aktuellen Skript per HTTP-GET-Methode übergeben wurde .

$_GET

Ein assoziatives Array von Variablen , das dem aktuellen Skript per HTTP-GET-Methode übergeben wurde.Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .

$HTTP_POST_VARS

Ein assoziatives Array aus Varaiblen , welches dem aktuellen Skript per HTTP-POST-Methode übergeben wurde .

$_POST

Ein assoziatives Array aus Variablen , welches dem aktuellen Skript per HTTP-POST-Methode übergeben wurde . Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .

$HTTP_POST_FILES

Ein assoziatives Array aus Variablen , das Informationen über per HTTP POST-Methode hochgeladene Dateien enthält . Siehe Dateiuploads mit POST für Informationen über den Inhalt der $HTTP_POST_FILES . Eingeführt in PHP 4.0.0 .

$_FILES

Ein assoziatives Array aus Variablen , das Informationen über per HTTP POST-Methode hochgeladene Dateien enthält . Siehe Dateiuploads mit POST für Informationen über den Inhalt der $_FILES .Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .

$HTTP_ENV_VARS

Ein assoziatives Array aus Variablen , die dem aktuellen Skript über die Umgebung zur Verfügung stehen .

$_ENV

Ein assoziatives Array aus Variablen , die dem aktuellen Skript über die Umgebung zur Verfügung stehen . Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .

$HTTP_SERVER_VARS

Ein assoziatives Array aus Variablen , die dem aktuellen Skript vom jeweiligen HTTP-Server übermittelt werden . Diese Variablen sind analog zu den oben beschriebenen Apache-Variablen .

$_SERVER

Ein assoziatives Array aus Variablen , die dem aktuellen Skript vom jeweiligen HTTP-Server übermittelt werden . Diese Variablen sind analog zu den oben beschriebenen Apache-Variablen . Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .

$HTTP_SESSION_VARS

Ein assoziatives Array aus Session-Variablen , die dem aktuellen Skript übergeben wurden .

$_SESSION

Ein assoziatives Array aus Session-Variablen , die dem aktuellen Skript übergeben wurden . Automatisch global in jedem Geltungsbereich . Werden dem Array $_SESSION neue Einträge hinzugefügt , werden diese automatisch als Session-Variablen registriert , genau so als ob die Funktion session_register( ) aufgerufen worden wäre . Eingeführt in PHP 4.1.0 .

$_REQUEST

Ein assoziatives Array zusammengesetzt aus den GET , POST und Cookie Variablen . Mit anderen Worten - alle Informationen die vom Nutzer kommen und denen aus Sichtweise der Sicherheit nicht zu trauen ist . Automatisch global in jedem Geltungsbereich . Eingeführt in PHP 4.1.0 .