Abrufen der Basis-URL in PHP
In Ihrer Entwicklungsumgebung, in der Sie eine lokale URL wie http://127.0 verwenden. 0.1/test_website/ kann es nützlich sein, die Basis-URL für verschiedene Funktionen programmgesteuert abzurufen. Häufig verwendete Methoden wie dirname(__FILE__) und basename(__FILE__) erzeugen jedoch nicht die gewünschte Ausgabe.
Lösung 1:
Um die Basis-URL genau zu erhalten, können Sie Folgendes verwenden Code:
<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>
Dieser Ansatz verwendet die vordefinierte Variable $_SERVER, um auf den Servernamen und den Anforderungs-URI zuzugreifen und so effektiv die Basis-URL zu erstellen.
Lösung 2 (zur Unterstützung von HTTPS):
Wenn Sie auch HTTPS unterstützen müssen, sollten Sie Folgendes in Betracht ziehen Funktion:
function url(){ return sprintf( "%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['SERVER_NAME'], $_SERVER['REQUEST_URI'] ); }
Achtung:
Wenn Sie sich auf den Schlüssel SERVER_NAME verlassen, stellen Sie sicher, dass Ihre Apache-Konfiguration korrekt eingerichtet ist. Wenn nicht, sollten Sie den Servernamen explizit in Ihrer virtuellen Host-Konfiguration angeben:
<VirtualHost *> ServerName example.com UseCanonicalName on </VirtualHost>
Zusätzlicher Hinweis:
Verwenden Sie den Schlüssel HTTP_HOST erfordert eine zusätzliche Bereinigung, um gültige Zeichen für eine Domäne sicherzustellen. Erwägen Sie die Verwendung der in PHP integrierten Funktion parse_url für diesen Zweck.
Das obige ist der detaillierte Inhalt vonWie kann ich die Basis-URL programmgesteuert in PHP abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!