Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der PHP-Funktionen getenv(), putenv() und $_SERVER

Detaillierte Erklärung der PHP-Funktionen getenv(), putenv() und $_SERVER

小云云
小云云Original
2018-03-05 10:35:398701Durchsuche

getenv ruft die Systemumgebungsvariablen ab

Syntax: string getenv(string varname); -----------Der Parameter varname sollte $_SERVER (superglobale Servervariable) sein array ), oder verwenden Sie putenv("new=very new"), um new als Umgebungsvariable zu definieren, sodass new als Parameter den Wert very new hat
Rückgabewert: String
Funktionstyp: PHP-Systemfunktion
Inhaltsbeschreibung: Wenn der Variablenname der Umgebungsvariable korrekt abgerufen wird, wird der Variablenwert zurückgegeben. Gibt bei einem Fehler „false“ zurück.
Verwendungsbeispiel
Das folgende Beispiel kann die URL des Computers abrufen, auf dem sich der Browser des Benutzers befindet

<?
$ip = getenv(“REMOTE_ADDR”);
?>

$_SERVER ist das superglobale Variablenarray des Servers. Verwenden Sie $_SERVER['REMOTE_ADDR'. ], um auch die IP-Adresse des Clients zu erhalten.

Der Unterschied zwischen den beiden besteht darin, dass getenv kein PHP unterstützt, das im IIS-Isapi-Modus ausgeführt wird.

putenv konfiguriert Systemumgebungsvariablen.

PHP putenv()-Syntax: void putenv (String-Einstellung);

Rückgabewert: Keiner

Funktionstyp: PHP-Systemfunktion

Inhaltsbeschreibung: Diese Funktion wird zum Konfigurieren von Systemumgebungsvariablen verwendet.

Verwendungsbeispiel:

Konfigurieren Sie die für die Oracle-Datenbank erforderliche Umgebungsvariable NLS_LANG, und die zurückgegebenen Daten enthalten chinesischen BIG5-Code.

<?
putenv("NLS_LANG=american_taiwan.zht16big5");
?>

Umfassendes Beispiel für putenv() und getenv()

<?php
putenv("new=very new");$is_new = getenv("new");$new="bu shi";
echo $is_new,"<br />",$new;
?>

Ausgabe:

sehr neu

Aus dem oben Gesagten können Sie also Seien Sie sich bewusst, dass es keinen Grund zur Angst gibt. Definieren Sie in unserem Code denselben Namen wie die von putenv definierte Umgebungsvariable. In diesem Beispiel ist putenv("new=very new"); ; -----neu ohne Fehler.

Ausführliche Erklärung der PHP-Servervariablen $_SERVER:

Heute habe ich den Inhalt des Handbuchs über Servervariablen sorgfältig studiert, eine Notiz geschrieben und sie hoffentlich veröffentlicht hilfreich für Anfänger.

Die roten Teile werden meiner Meinung nach am häufigsten verwendet und sind wichtiger, und die blauen Teile wurden nach dem Debuggen selbst hinzugefügt, um das Verständnis zu erleichtern.

Bitte respektieren Sie die Früchte der Arbeit beim Nachdrucken, haha, körperliche Arbeit ist nicht einfach zu bewältigen.

Detaillierte Erklärung der Servervariablen $_SERVER:

1. $_SESSION['PHP_SELF'] -- Ruft den Dateinamen des aktuell ausgeführten Skripts ab

2 ['SERVER_PROTOCOL '] – Der Name und die Version des Kommunikationsprotokolls beim Anfordern der Seite. Beispiel: „HTTP/1.0“.

3. $_SERVER['REQUEST_TIME'] – Der Zeitstempel, als die Anfrage gestartet wurde. Gültig seit PHP 5.1.0. Der Effekt ist der gleiche wie bei der Zeitfunktion.

4. $_SERVER['argv'] – an das Skript übergebene Parameter. Ich habe es versucht und die get-Methode kann $_SERVER['argv'][0] abrufen; die post-Methode kann ihr keinen Wert zuweisen.

5. $_SERVER['SERVER_NAME'] – Gibt den aktuellen Hostnamen zurück.

6. $_SERVER['SERVER_SOFTWARE'] – Die Zeichenfolge, die den Server identifiziert und in den Header-Informationen angegeben wird, wenn auf die Anfrage geantwortet wird. Wie Microsoft-IIS/6.0

7, $_SERVER['REQUEST_METHOD'] – die Anforderungsmethode beim Zugriff auf die Seite. Zum Beispiel: „GET“, „HEAD“, „POST“, „PUT“.

8. $_SERVER['QUERY_STRING'] – Die Zeichenfolge der Abfrage (der Inhalt nach dem ersten Fragezeichen ? in der URL).

9. $_SERVER['DOCUMENT_ROOT'] – Das Stammverzeichnis des Dokuments, in dem sich das aktuell ausgeführte Skript befindet. Definiert in der Serverkonfigurationsdatei. Zum Beispiel E:server

10, $_SERVER['HTTP_ACCEPT'] – der Inhalt des Accept:-Headers der aktuellen Anfrage.

11. $_SERVER['HTTP_ACCEPT_CHARSET'] – Der Inhalt des Accept-Charset:-Headers der aktuellen Anfrage. Zum Beispiel: „iso-8859-1,*,utf-8“.

12. $_SERVER['HTTP_ACCEPT_ENCODING'] – Der Inhalt des Accept-Encoding:-Headers der aktuellen Anfrage. Zum Beispiel: „gzip“.

13. $_SERVER['HTTP_ACCEPT_LANGUAGE'] – Der Inhalt des Accept-Language:-Headers der aktuellen Anfrage. Zum Beispiel: „en“.

14. $_SERVER['HTTP_CONNECTION'] – Der Inhalt der Connection: Header-Informationen der aktuellen Anfrage. Zum Beispiel: „Keep-Alive“.

15. $_SERVER['HTTP_HOST'] – Der Inhalt der Host: Header-Informationen der aktuellen Anfrage.

16. $_SERVER['HTTP_REFERER'] – URL-Adresse der vorherigen Seite, die mit der aktuellen Seite verknüpft ist.

17. $_SERVER['HTTP_USER_AGENT'] – Gibt die vom Benutzer verwendeten Browserinformationen zurück. Diese Informationen können auch mit get_browser() abgerufen werden.

18, $_SERVER['HTTPS'] – Bei Zugriff über https wird es auf einen nicht leeren Wert gesetzt, andernfalls wird „off“ zurückgegeben.

19, $_SERVER['REMOTE_ADDR ' ] – Die IP-Adresse des Benutzers, der die aktuelle Seite durchsucht.

20. $_SERVER['REMOTE_HOST'] – Der Hostname des Benutzers, der die aktuelle Seite durchsucht. Die umgekehrte Domänennamenauflösung basiert auf der REMOTE_ADDR des Benutzers. Der lokale Test gibt beispielsweise 127.0.0.1

21, $_SERVER['REMOTE_PORT'] zurück – den Port, den der Benutzer für die Verbindung zum Server verwendet. Ich habe den Test auf dieser Maschine nicht bestanden, ich weiß nicht warum.

22. $_SERVER['SCRIPT_FILENAME'] – Der absolute Pfadname des aktuell ausgeführten Skripts. Geben Sie beispielsweise E:serverindex.php

23, $_SERVER['SERVER_ADMIN'] zurück – Dieser Wert gibt den Parameter SERVER_ADMIN in der Apache-Serverkonfigurationsdatei an. Wenn das Skript auf einem virtuellen Host ausgeführt wird, ist dieser Wert der Wert dieses virtuellen Hosts

24, $_SERVER['SERVER_PORT'] – Der vom Server verwendete Port. Der Standardwert ist „80“. Bei Verwendung einer sicheren SSL-Verbindung ist dieser Wert der vom Benutzer festgelegte HTTP-Port.

25. $_SERVER['SERVER_SIGNATURE'] – Eine Zeichenfolge, die die Serverversion und den Namen des virtuellen Hosts enthält.

26. $_SERVER['PATH_TRANSLATED'] – Der Basispfad des Dateisystems (nicht das Stammverzeichnis des Dokuments), in dem sich das aktuelle Skript befindet. Dies ist das Ergebnis, nachdem der Server von einem virtuellen auf einen realen Pfad abgebildet wurde. Apache 2-Benutzer können PATH_INFO mit AcceptPathInfo On in httpd.conf definieren.

27. $_SERVER['SCRIPT_NAME'] – Enthält den Pfad des aktuellen Skripts. Dies ist nützlich, wenn die Seite auf sich selbst verweisen muss. __FILE__ enthält den absoluten Pfad und Dateinamen der aktuellen Datei (z. B. einer Include-Datei).

28. $_SERVER['REQUEST_URI'] – Der URI, der für den Zugriff auf diese Seite erforderlich ist. Beispiel: „/index.html“.

29. $_SERVER['PHP_AUTH_DIGEST'] – Bei Ausführung als Apache-Modul wird diese Variable während des HTTP-Digest-Authentifizierungsprozesses auf den vom Client gesendeten HTTP-Header-Inhalt „Autorisierung“ gesetzt (in der Reihenfolge). zu weiteren Authentifizierungsvorgängen).

30. $_SERVER['PHP_AUTH_USER']--Wenn PHP im Apache- oder IIS-Modulmodus (PHP 5 ist ISAPI) ausgeführt wird und die HTTP-Authentifizierungsfunktion verwendet wird, ist diese Variable der von eingegebene Benutzername der Benutzer.

31. $_SERVER['PHP_AUTH_PW'] – Wenn PHP im Apache- oder IIS-Modulmodus (PHP 5 ist ISAPI) ausgeführt wird und die HTTP-Authentifizierungsfunktion verwendet wird, ist diese Variable das vom Benutzer.

32. $_SERVER['AUTH_TYPE']--Wenn PHP im Apache-Modulmodus ausgeführt wird und die HTTP-Authentifizierungsfunktion verwendet, ist diese Variable der Authentifizierungstyp.

Verwandte Empfehlungen:

php-Funktion getenv() und putenv() und $_SERVER_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP-Funktionen getenv(), putenv() und $_SERVER. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn