PHP Handbuch | ||
---|---|---|
Zurück | Kapitel 8. Variablen | Nach vorne |
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.
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.
Die Revision der CGI-Spezifikation, die der Web-Server benutzt, z.B. 'CGI/1.1'.
Der Host-Name des Web-Servers, der das Skript ausführt. Das kann auch der Name eines virtuellen Servers sein.
Der Identifikations-String des Web-Servers (aus den Headern), sobald er Anforderungen beantwortet.
Name und Revision des Informations-Protokolls, über das die Seite angefordert wurde, z.B. 'HTTP/1.0'.
Welche Methode zum Zugriff auf die Seite benutzt wurde, z.B. 'GET', 'HEAD', 'POST', 'PUT'.
Der Abfrage-(Query-)String (falls vorhanden), mit dem auf die Seite zugegriffen wurde.
Das Verzeichnis des gerade ausgeführten Skripts aus Sicht des in der Konfigurations-Datei des Servers definierten Dokument-Wurzel-Verzeichnisses.
Inhalt des Accept:-Headers der aktuellen Anforderung (so es einen solche Header gibt).
Inhalt des Accept-Charset:-Headers der aktuellen Anforderung (sofern es einen gibt). Beispiel: 'iso-8859-1,*,utf-8'.
Inhalt des Accept-Encoding:-Headers der aktuellen Anforderung (wenn es einen gibt). Beispiel: 'gzip'.
Inhalt des Accept-Language:-Headers in der aktuellen Anforderung, sofern dieser Header existiert. Beispiel: 'en'.
Inhalt des Connection:-Headers des aktuellen Request, so er vorhanden ist. Beispiel: 'Keep-Alive'.
Inhalt des Host:-Headers der aktuellen Anforderung, wenn er existiert.
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.
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.
Die IP-Adresse, von der aus gerade auf die Web-Seite zugegriffen wird.
Der Port, der zum Zugriff auf ihren Web-Server seitens des Anwender-Computers benutzt wird.
Der absolute Pfadname des gerade ausgeführten Skripts.
Der Inhalt der in der Konfigurations-Datei des Web-Servers (Apache) stehenden Angabe zum SERVER_ADMIN. Bei virtuellen Hosts der dafür eingetragene Wert.
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.
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.
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).
Enthält den Pfad des aktuellen Skripts. Nützlich für Seiten, die auf sich selbst verweisen müssen.
Die URI, die durch den Zugriff auf die aktuelle Seite gegeben ist, z.B. '/index.html'.
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.
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.
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.
Anzahl der per Kommando-Zeile dem Skript übergebenen Parameter (wenn von dort aufgerufen).
Der Dateiname des gerade ausgeführten Skripts, relativ zum Wurzel-Verzeichnis des Dokuments. Bei Kommando-Zeilen- Aufrufen ist diese Variable nicht verfügbar.
Ein assoziatives Array von Variablen, das dem aktuellen Skript über HTTP-Cookies übergeben wurde.
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.
Ein assoziatives Array von Variablen, das dem aktuellen Skript per HTTP-GET-Methode übergeben wurde.
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.
Ein assoziatives Array aus Varaiblen, welches dem aktuellen Skript per HTTP-POST-Methode übergeben wurde.
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.
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.
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.
Ein assoziatives Array aus Variablen, die dem aktuellen Skript über die Umgebung zur Verfügung stehen.
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.
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.
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.
Ein assoziatives Array aus Session-Variablen, die dem aktuellen Skript übergeben wurden.
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.
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.
Zurück | Zum Anfang | Nach vorne |
Variablen | Nach oben | Geltungsbereich von Variablen |