Quelle: Unsplash

Wie man eine URL mit Hilfe von PHP aus der Adressleiste auslesen kann

Manchmal ist es erforderlich eine komplette URL aus der Adressleiste des Nutzers auszulesen. Die Anwendungsmöglichkeiten sind verschieden. Ich möchte in diesem Post deshalb ein kurzes und einfaches PHP Script vorstellen, dass die URL aus der Adressleiste extrahiert und mit echo ausgibt. Das Script unterstützt auch eine Unterscheidung zwischen den Sicherheitsprotokollen https und http.  Das Script ist eigentlich nur ein Quick Fix, man könnte es auch anders lösen. Falls du Vorschläge hast, gerne in die Kommentare. :)

Source Code

Hier findest du den dafür benötigten Code. Die Erklärung findest du weiter unten.

<?php
$secure = "https";
$insecure = "http";
$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if($_SERVER['HTTPS'])
{
echo "<span>$secure://$url</span>";
}
else
{
echo "<span>$insecure://$url</span>";
}
?>

Erklärung

  • Zuerst habe ich zwei Variablen $secure und $insecure definiert. Diese Variablen werden später in der if Abfrage verwendet.
  • Anschließend definieren wir in der Variable $url die URL mit Hilfe von $_SERVER['HTTP_HOST'] und $_SERVER['REQUEST_URI'] Das ist der Link ohne die Protokolle https und http. Weitere Informationen über die Eigenschaften von $_SERVER findest du in der offiziellen PHP Dokumentation.
  • In der If Abfrage prüfen wir nun, ob die Webseite mit SSL ( https ) aufgerufen wurde. Ist das der Fall, so wird vor die URL die Variable $secure angefügt. Also steht https:// vor der URL. Ist die Seite aber ohne SSL aufgerufen worden, so wird nur http vor die URL gesetzt. 

Ausgabe

Wir nehmen an, dass die Webseite ( www.example.com ) über SSL aufgerufen wurde und die $_SERVER['REQUEST_URI'] /index.php ist. Die Ausgabe lautet daher:

https://www.example.com/index.html

This article was updated on Dezember 19, 2017

Comments