Abrufen der aktuellen vollständigen URL in PHP

Krissnaawat Kaewsanmuang 16 Februar 2024
PHP
  1. Verwenden Sie http_build_url(), um die aktuelle URL in PHP zu erhalten
  2. Benutzen Sie $_SERVER[], um die aktuelle Url in PHP zu erhalten
  3. Verwendung von $_SERVER['HTTPS'] zum Abrufen der aktuellen Url in PHP
  4. Abrufen der aktuellen URL inklusive Parameter in PHP
  5. Fazit
Abrufen der aktuellen vollständigen URL in PHP

Das Tutorial stellt vor, wie man die aktuelle vollständige URL in der Programmiersprache PHP abfragt. Es kann viele Anwendungsfälle geben, um die vollständige URL in PHP zu erhalten. Wir müssen den Inhalt der Webseite basierend auf den Abfrageparametern ausgeben. Möglicherweise müssen wir die Seite als Ganzes umleiten oder aktualisieren. Daher kann eine vollständige URL von essentiellem Wert sein, wenn es um Webprogrammierung geht.

Hier werden wir verschiedene Möglichkeiten besprechen, um die vollständige URL in der PHP-Programmierung zu erhalten.

Im Allgemeinen gibt es ein paar Schritte, die wir kennen müssen, um die vollständige URL der aktuell laufenden Seite zu erhalten, die unten angegeben sind:

  • Wir müssen eine PHP-Variable erstellen, die die URL im String-Format speichert.
  • Wir müssen überprüfen, ob der Server HTTPS aktiviert hat. Wenn ja, müssen wir HTTPS an die URL-Zeichenkette anhängen. Wenn HTTPS nicht aktiviert ist, müssen wir HTTP an die URL-Zeichenkette anhängen.
  • Außerdem muss das Symbol :// an die URL angehängt werden.
  • Wir müssen den HTTP_HOST-Namen des Servers anhängen. Der HTTP_HOST-Name ist der Host, den wir angefordert haben, z. B. www.google.com, www.exampledomain.com, usw.
  • Wir müssen die REQUEST_URI an die URL-Zeichenkette anhängen. REQUEST_URI ist die Ressource, die wir angefordert haben, z. B. /index.php, usw.

Jetzt besprechen wir einige der effizientesten Methoden, um die aktuelle vollständige URL im Ökosystem der PHP-Programmierung zu erhalten:

Verwenden Sie http_build_url(), um die aktuelle URL in PHP zu erhalten

Diese Lösung ist ziemlich einfach. Wir können die in PHP integrierte Funktion namens http_build_url() verwenden. Diese Methode funktioniert sowohl für HTTP als auch für HTTPs.

$link =  http_build_url();

Diese Funktion wird verwendet, um eine URL zu erstellen. Sie nimmt insgesamt vier Parameter entgegen:

  • url: Dieser Parameter stellt die URL in Form einer Zeichenkette oder eines assoziativen Arrays dar. Der Rückgabewert ist ähnlich wie bei parse_url().
  • parts: Dieser Parameter ist derselbe wie das erste Argument.
  • flags: Es ist eine Bitmaske von binären HTTP_URL-Konstanten.
  • new_url: Wenn dieser Parameter gesetzt ist, wird er mit den Teilen der zusammengesetzten URL gefüllt, wie parse_url() zurückgibt.

Insgesamt gibt diese Methode im Erfolgsfall die neue URL als String zurück, im Fehlerfall False.

Benutzen Sie $_SERVER[], um die aktuelle Url in PHP zu erhalten

Eine andere Möglichkeit ist die Verwendung der globalen Variable namens $_SERVER[]. Die $_SERVER ist eine eingebaute Variable von PHP, die verwendet wird, um die aktuelle Seiten-URL zu ermitteln. Sie ist auch eine superglobale Variable. Daher ist sie immer in allen Bereichen verfügbar.

Wir übergeben einfach den Parameter REQUEST_URI an die Variable, wie im folgenden Beispiel gezeigt:

Beispiel:

$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  • $_SERVER[HTTP_HOST] steht für einen Host- oder Domainnamen wie https://www.delftstack.com/
  • $_SERVER[REQUEST_URI] represent URI like /dashboard/phpinfo.php

Verwendung von $_SERVER['HTTPS'] zum Abrufen der aktuellen Url in PHP

Hier ist ein weiteres explizites Hardcode-Format, um die aktuelle URL in PHP zu erhalten.

Die globale Variable $_SERVER['HTTPS'] repräsentiert den Status des HTTPS. Daher können wir sie innerhalb der Funktion isset() verwenden, um zu prüfen, ob HTTPS existiert oder nicht. Dies hilft uns zu wissen, ob HTTPS in einer URL aktiviert ist oder nicht. In der Zwischenzeit können wir durch die Überprüfung des Wertes von $_SERVER['HTTPS'] entscheiden, ob “https” an die URL angehängt werden soll oder nicht.

Beide Beispiele zeigen die Erkennung von HTTPS. Das Beispiel unten ist das lange Format:

$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Oder Sie können das kurze Format verwenden, wie im Beispiel unten gezeigt:

$link = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

Abrufen der aktuellen URL inklusive Parameter in PHP

Um die Gesamt-URL inklusive Pfad, Parameter und Query-Strings zu erhalten, können wir http_build_url() verwenden, wie im folgenden Beispiel gezeigt:

$all_in_address_bar = http_build_url();

Fazit

Dieses Tutorial hat einige der effizientesten Möglichkeiten gezeigt, die aktuelle URL in der PHP-Programmierung zu ermitteln. Die Beispiele werden Ihnen sicherlich helfen, das Format, den Mechanismus und die verwendeten Syntaxen zu verstehen. Die am häufigsten verwendete Technik, um die aktuelle URL zu ermitteln, ist die Verwendung der superglobalen Variable $_SERVER. Damit haben Sie die volle Kontrolle über das Syntaxformat. Allerdings ist diese Technik im Vergleich zu den anderen etwas komplex. Es liegt nun an Ihnen, zu entscheiden, welche Methode zum Abrufen der aktuellen URL am besten zu Ihrem PHP-Programmierszenario passt. Es kann unterschiedliche Anwendungsfälle und Effizienz bei der Verwendung einer bestimmten Methode geben. Die beste Option ist es, alle Methoden auszuprobieren und die flexibelste und effizienteste für Ihr Programmierszenario zu wählen.