Notwendige Variablen
Die folgenden superglobalen Variablen werden benötigt, um die URL-Adresse der aktuellen Seite herauszufinden.
Superglobale Variablen | Zwecke |
---|---|
$_SERVER['HTTPS'] | Es kehrt zurück auf wenn HTTPS-Protokoll in der URL der aktuellen Seite verwendet wird. |
$_SERVER['HTTP_HOST'] | Es gibt den Namen des Servers der aktuellen Seite zurück. |
$_SERVER['REQUEST_URI'] | Es gibt den angeforderten Ressourcennamen zurück. |
$_SERVER['SERVER_PORT'] | Es gibt die Portnummer des Servers zurück. |
$_SERVER['QUERY_STRING'] | Es gibt den Abfragezeichenfolgenwert zurück, wenn er in der URL-Adresse der aktuellen Seite vorhanden ist. |
Beispiel 1: Zeigen Sie die URL der aktuellen Seite mit einer bedingten Anweisung an
Das folgende Beispiel zeigt, wie die bedingte Anweisung verwendet werden kann, um das in der URL der aktuellen Seite verwendete Protokoll abzurufen. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
Der Wert von $_SERVER['HTTP_HOST'] wird verwendet, um den Domainnamen der aktuellen URL zu erhalten. Der Wert von $_SERVER['REQUEST_URI'] wird verwendet, um den Namen der angeforderten Ressource zu erhalten. isset() Funktion wird verwendet, um zu überprüfen, ob $_SERVER['HTTPS'] eine Menge ist oder nicht, und wenn sie gesetzt ist, dann überprüfen Sie den Wert von $_SERVER['HTTPS'], ob dies der Fall ist auf oder nicht. Als nächstes werden die Werte dieser drei Variablen mit '//:' kombiniert, um die vollständige URL der aktuellen Seite abzurufen.
// Den Domainnamen der aktuellen Seite lesen$domain = $_SERVER['HTTP_HOST'];
//Lesen Sie die angeforderte Ressource
$resource = $_SERVER['REQUEST_URI'];
// Finden Sie das Protokoll der aktuellen URL heraus
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')
$protokoll = "https";
sonst
$protokoll = "http";
// Kombinieren Sie alle Teile, um die vollständige URL-Adresse zu erhalten
$url = $protokoll."://".$domain.$Ressource;
// Drucken Sie die URL-Adresse der aktuellen Seite
Echo"
Die URL-Adresse des aktuellen
Seite ist:
". $url;?> Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Der Wert von $_SERVER['HTTPS'] ist nicht auf für den lokalen Server. Die Ausgabe zeigt also die http Protokoll für die aktuelle URL.
Beispiel 2: Zeigen Sie die URL der aktuellen Seite mit einem ternären Operator an
Das folgende Beispiel zeigt, wie Sie mit dem ternären Operator die vollständige URL der aktuellen Seite abrufen. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
Wenn die Bedingung wird im vorherigen Beispiel verwendet, um herauszufinden, welches Protokoll in der URL der aktuellen Seite verwendet wird. Die gleiche Aufgabe wird mit dem ternären Operator in diesem Skript ausgeführt. isset() Funktion wird verwendet, um zu überprüfen, ob $_SERVER['HTTPS'] eine Menge ist oder nicht, und ob der Wert von $_SERVER['HTTPS'] . ist auf, dann gibt der ternäre Operator HTTPS zurück, ansonsten HTTP. Die anderen Teile der URL werden wie im vorherigen Beispiel abgerufen und gedruckt.
// Finden Sie das Protokoll der aktuellen URL heraus$protokoll = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']
== 'an' ? "https" : "http");
// Den Domainnamen der aktuellen Seite lesen
$domain = $_SERVER['HTTP_HOST'];
//Lesen Sie die angeforderte Ressource
$resource = $_SERVER['REQUEST_URI'];
// Kombinieren Sie alle Teile, um die vollständige URL-Adresse zu erhalten
$url = $protokoll."://".$domain.$Ressource;
// Drucken Sie die URL-Adresse der aktuellen Seite
Echo"
Die URL-Adresse der aktuellen Seite lautet:
". $url;?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Der Wert von $_SERVER['HTTPS'] ist nicht auf für den lokalen Server. Die Ausgabe zeigt also das HTTP-Protokoll für die aktuelle URL.
Beispiel 3: Zeigen Sie die URL der aktuellen Seite basierend auf der Portnummer an
In den beiden vorherigen Beispielen wird der Wert von $_SERVER['HTTPS'] verwendet, um das Protokoll der aktuellen URL der Seite herauszufinden, und es wird kein Abfragestring mit der URL verwendet. Das folgende Beispiel zeigt, wie die Variable $_SERVER['SERVER_PORT'] verwendet werden kann, um das Protokoll herauszufinden und die vollständige URL-Adresse mit dem Abfragestring abzurufen. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
Hier werden mehrere logische Bedingungen und ein ternärer Operator verwendet, um das Protokoll herauszufinden. Wenn der Wert von $_SERVER['HTTPS'] leer oder auf . gesetzt ist aus, dann wird der Wert von $_SERVER['SERVER_PORT'] überprüft, um das Protokoll der aktuellen URL herauszufinden. Die Variable $_SERVER['QUERY_STRING'] wird verwendet, um den Wert der Abfragezeichenfolge von der URL abzurufen.
// Finden Sie das Protokoll der aktuellen URL heraus$Protokoll = ((!leer($_SERVER['HTTPS']) && $_SERVER['HTTPS']
!= 'aus') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
// Den Domainnamen der aktuellen Seite lesen
$domain = $_SERVER['HTTP_HOST'];
// Lesen Sie die angeforderte Ressource
$resource = $_SERVER['REQUEST_URI'];
// Den Wert der Abfragezeichenfolge lesen
$query = $_SERVER['QUERY_STRING'];
// Kombinieren Sie alle Teile, um die vollständige URL-Adresse zu erhalten
$url = $protokoll.$domain.$Ressource;
// Drucken Sie die URL-Adresse der aktuellen Seite
Echo"
Die vollständige URL-Adresse der aktuellen Seite lautet:
". $url;// Den Abfragestringteil ausgeben
Echo"
Die Abfragezeichenfolge lautet:
". $abfrage;?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das obige Skript vom Server ohne Abfragezeichenfolge ausgeführt wurde. In der URL wird keine Abfragezeichenfolge bereitgestellt. Die Ausgabe zeigt also den leeren Abfragestring.
Die folgende Ausgabe wird erscheinen, nachdem das obige Skript vom Server mit der Abfragezeichenfolge ausgeführt wurde. Die folgende Ausgabe zeigt die URL-Adresse mit dem Abfragestring und dem Abfragestring separat an.
Fazit
In diesem Tutorial werden verschiedene Möglichkeiten zum Abrufen der vollständigen URL der aktuellen Seite anhand verschiedener Beispiele gezeigt. In diesem Tutorial wird auch gezeigt, wie Sie die URL und den Abfragestring trennen können. Hoffentlich hilft dieses Tutorial den Lesern, die vollständige URL der aktuellen Seite mit dem PHP-Skript zu lesen.