Finden der Basis-URL in PHP

Subodh Poudel 30 März 2022
Finden der Basis-URL in PHP

Dieser Artikel stellt einige Methoden vor, um die Basis-URL einer Anwendung in PHP zu finden.

Verwenden Sie die superglobale Variable $_SERVER, um die Basis-URL in PHP zu finden

Die superglobale Variable $_SERVER in PHP enthält die Informationen über den Server und die Ausführungsumgebung.

Der Begriff superglobale Variable bedeutet, dass auf die Variable in jedem Bereich des Programms zugegriffen werden kann. Die Variable ist ein vordefiniertes Array und enthält eine Vielzahl von Indizes.

Wir können die verschiedenen Indizes verwenden, um Pfade, Header und Skriptspeicherorte zu finden. Einige Beispiele für die verfügbaren Indizes, die im Array $_SERVER verwendet werden, sind SERVER_NAME, SERVER_ADDR, HTTP_HOST, REMOTE_HOST usw.

Die Webserver stellen diese Indizes bereit. Die Verfügbarkeit der Indizes variiert also je nach Webserver. Ein Beispiel für die Verwendung des Arrays $_SERVER ist unten dargestellt.

<?php
echo $_SERVER['SERVER_NAME'];
?>

Ausgabe:

localhost

Im obigen Beispiel ist der verwendete Server localhost. Das Array $_SERVER['SERVER_NAME] gibt den Server-Hostnamen zurück, unter dem das aktuelle Skript ausgeführt wird.

Wir können das Array $_SERVER verwenden, um die Basis-URL der Anwendung in PHP zu finden. Die Indizes SERVER_NAME und REQUEST_URI sind nützlich, um die Basis-URL zu finden.

Der Index REQUEST_URI gibt den Unifrom Resource Identifier (URI) der aktuellen Webseite zurück.

Erstellen Sie beispielsweise eine Variable $server und speichern Sie darin $_SERVER['SERVER_NAME']. Speichern Sie ebenso $_SERVER['REQUEST_URI'] in der $uri-Variablen.

Verketten Sie als nächstes den String http:// mit den Variablen $server und $uri und drucken Sie diese mit der Funktion print aus.

Als Ergebnis können wir die Basis-URL der aktuellen Anwendung sehen. Das folgende Beispiel zeigt den Pfad der aktuellen Anwendung, wie sie im localhost ausgeführt wird.

$server = $_SERVER['SERVER_NAME'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$server. $uri;

Ausgabe:

http://localhost/my_app/

Wir können den Hostnamen auch mit dem Index HTTP_HOST im Array $_SERVER erhalten. Der Index HTTP_HOST gibt den Host-Header der aktuellen Anfrage in der Anwendung zurück.

Der Unterschied zwischen ihm und dem Index SERVER_NAME besteht darin, dass HTTP_HOST den Header von der Client-Anfrage abruft, während SERVER_NAME die in der Serverkonfiguration definierten Informationen abruft.

Der Index SERVER_NAME ist zuverlässiger als der Index HTTP_HOST, da der Wert vom Server zurückgegeben wird und nicht geändert werden kann. Das Beispiel des HTTP_HOST-Index zum Abrufen der Basis-URL der Anwendung ist unten dargestellt.

$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$host. $uri;

Ausgabe:

http://localhost/my_app/

Oben können wir die Basis-URL einer Anwendung in PHP finden.

Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn