Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Einführung in PHPs $_SERVER (Codebeispiel)

Detaillierte Einführung in PHPs $_SERVER (Codebeispiel)

不言
不言nach vorne
2019-01-09 10:07:464946Durchsuche

Der Inhalt dieses Artikels ist eine detaillierte Einführung (Codebeispiel) über PHPs $_SERVER. Er hat einen gewissen Referenzwert. Ich hoffe, er wird für Sie hilfreich sein 🎜>$_SERVER ist eine vordefinierte superglobale Variable in PHP. Die sogenannten „Super-Global-Variablen“ können in allen Bereichen des Skripts verwendet werden. $_SERVER speichert Informationen über Header, Pfade und Skriptspeicherorte. Ich vergesse es bei der Arbeit oft, deshalb werde ich es hier organisieren und aufzeichnen, um meinen Eindruck zu vertiefen. Der Test wurde unter Windows durchgeführt, die Umgebung ist Apache/2.4.23 (Win32)+PHP/5.6.27-nts, der Zugriffsdomänenname ist http://www.example.com/index.... und die Das Dateiverzeichnis befindet sich in E:/WWW/example/.

Detaillierte Erläuterung des Hauptinhalts

$_SERVER["SCRIPT_NAME"] => aktueller Skriptpfad
  • $_SERVER["REQUEST_URI"] => "/index.php?id=1", der URI der besuchten Seite, der die Abfragezeichenfolge
  • $_SERVER["QUERY_STRING"] => "id=1", Abfragezeichenfolge, existiert nicht als " "

  • $_SERVER["REQUEST_METHOD"] => ; „GET“, Anforderungsmethode, wie „POST“, „PUT“ usw.

  • $_SERVER["SERVER_PROTOCOL"] => "HTTP/1.1", der Name und Version des Kommunikationsprotokolls

  • $_SERVER["GATEWAY_INTERFACE"] => "CGI/1.1", die Version der vom Server verwendeten CGI-Spezifikation

  • $_SERVER["REMOTE_PORT "] => "60599", der Port, über den Benutzer eine Verbindung zum Server herstellen

  • $_SERVER["SCRIPT_FILENAME"] => "E:/WWW/example/index.php", Der absolute Pfad des aktuellen Skripts

  • $_SERVER["DOCUMENT_ROOT"] => "E:/WWW/example/" , der absolute Pfad des aktuellen Skriptdokument-Stammverzeichnisses

  • $_SERVER["REMOTE_ADDR"] => "127.0.0.1", die IP-Adresse des Benutzers

  • $_SERVER["SERVER_PORT"] => " 80", der vom Server verwendete Port

  • $_SERVER["SERVER_ADDR"] => "127.0.0.1 ", die IP-Adresse des Servers

  • $_SERVER["SERVER_NAME"] => "www.example.com", der Hostname des Servers, Hinweis:

    Wenn Wenn das Skript auf einem virtuellen Host ausgeführt wird, wird der Name durch den von diesem virtuellen Host festgelegten Wert bestimmt. In Apache 2 müssen UseCanonicalName = On und ServerName gesetzt sein. Andernfalls wird der Wert vom Kunden bereitgestellt und kann gefälscht werden. In Umgebungen, in denen der Kontext Sicherheitsanforderungen stellt, sollte man sich nicht auf diesen Wert verlassen.
  • $_SERVER["SERVER_SOFTWARE"] => "Apache/2.4.23 (Win32) OpenSSL/1.0.2j mod_fcgid/2.3.9", Server im Antwortheader Der Inhalt von

  • $_SERVER["SERVER_SIGNATURE"] => "", eine Zeichenfolge mit der Serverversion und dem Namen des virtuellen Hosts

  • $ _SERVER["HTTP_HOST"] => "www.example.com", der Inhalt des Host-Elements im Anforderungsheader

  • $_SERVER["HTTP_CONNECTION"] => "keep- alive“, der Inhalt des Connection-Elements im Anforderungsheader

  • $_SERVER["HTTP_PRAGMA"] => „no-cache“, der Inhalt des Pragma-Elements im Anforderungsheader

  • $_SERVER["HTTP_CACHE_CONTROL"] => "no-cache", der Inhalt des Cache-Control-Elements im Anforderungsheader

  • $_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS" ] => "1", der Inhalt des Upgrade-Insecure-Requests-Elements im Anforderungsheader

  • $_SERVER["HTTP_USER_AGENT"] => ; "Mozilla/5.0 (Windows NT 10.0; Win64; ] => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,

    /
  • ;q=0.8", das Accept-Element im Anforderungsheader Content
  • $_SERVER["HTTP_ACCEPT_ENCODING"] => "gzip, deflate", Inhalt des Accept-Encoding-Elements im Anfrage-Header
  • $_SERVER["HTTP_ACCEPT_LANGUAGE"] => "zh-CN,zh;q=0.8", der Inhalt des Accept-Language-Elements im Anfrage-Header

  • $_SERVER["PHP_SELF"] => "/index.php", der Dateiname des aktuell ausgeführten Skripts

  • $_SERVER[" REQUEST_TIME_FLOAT"] => 1510112348.8084, der Zeitstempel des Beginns der Anfrage, Genauigkeit auf Mikrosekundenebene Grad

  • $_SERVER["REQUEST_TIME"] => 1510112348, Zeitstempel des Anfragestarts

  • Instanz
  • Das Obige ist der Hauptinhalt von

    beim Testen. Je nach Umgebungskonfiguration wird es einige Änderungen geben. In der Praxis hat $_SERVER viele Funktionen. Hier sind nur zwei einfache Beispiele: das Abrufen der aktuellen Anforderungs-URL und einfaches Anti-Leeching.
<?php
// $_SERVER['HTTPS']当前是否为HTTPS协议
if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
    $url = 'https://';
} else {
    $url = 'http://';
}

if ($_SERVER['SERVER_PORT'] == 80) {
    $url .= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
} else {
    $url .= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['SERVER_PORT'];
}
rrree

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in PHPs $_SERVER (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was ist Perl?Nächster Artikel:Was ist Perl?