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 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