Ich verwende XAMPP unter Windows Vista. In meiner Entwicklung habe ich http://127.0.0.1/test_website/
.
Wie komme ich http://127.0.0.1/test_website/
mit PHP?
Ich habe so etwas versucht, aber keiner von ihnen hat funktioniert.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
Antworten:
Versuche dies:
Erfahren Sie mehr über die
$_SERVER
vordefinierte Variable .Wenn Sie https verwenden möchten, können Sie Folgendes verwenden:
Stellen Sie gemäß dieser Antwort sicher, dass Sie Ihren Apache richtig konfigurieren, damit Sie sich sicher darauf verlassen können
SERVER_NAME
.HINWEIS : Wenn Sie vom
HTTP_HOST
Schlüssel abhängig sind (der Benutzereingaben enthält), müssen Sie noch einige Bereinigungen vornehmen, Leerzeichen, Kommas, Zeilenumbrüche usw. entfernen. Alles, was für eine Domain kein gültiges Zeichen ist. Überprüfen Sie die in PHP integrierte parse_url- Funktion für ein Beispiel.quelle
$_SERVER['HTTPS']
und eintauschenhttps://
anstatthttp://
in diesen Fällen.REQUEST_URI
bereits ein/
; es tut. @swarnendu Bitte seien Sie vorsichtiger, wenn Sie die Antworten anderer Personen bearbeiten. Das hätte stattdessen ein Kommentar sein sollen.Funktion angepasst, um ohne Warnungen ausgeführt zu werden:
quelle
Fun 'base_url' Snippet!
Verwenden Sie so einfach wie:
quelle
Verwendung:
quelle
Es ist einfach zu bedienen.
Ausgabe:
quelle
https://example.com
von erhalten möchtenhttps://example.com/category2/page2.html?q=2#lorem-ipsum
- das hat nichts mit der aktuellen Seite zu tun, auf der Sie sich befinden.Ich denke, der
$_SERVER
Superglobal hat die Informationen, die Sie suchen. Es könnte ungefähr so aussehen:Die entsprechende PHP-Dokumentation finden Sie hier .
quelle
Versuchen Sie den folgenden Code:
quelle
Der folgende Code reduziert das Problem beim Überprüfen des Protokolls. Der $ _SERVER ['APP_URL'] zeigt den Domänennamen mit dem Protokoll an
$ _SERVER ['APP_URL'] gibt das Protokoll zurück: // domain (zB: - http: // localhost )
$ _SERVER ['REQUEST_URI'] für verbleibende Teile der URL wie / Verzeichnis / Unterverzeichnis / etwas / anderes
Die Ausgabe wäre so
http: // localhost / Verzeichnis / Unterverzeichnis / etwas / anderes
quelle
Ich habe dies auf http://webcheatsheet.com/php/get_current_page_url.php gefunden
Fügen Sie einer Seite den folgenden Code hinzu:
Sie können jetzt die aktuelle Seiten-URL über die folgende Zeile abrufen:
Manchmal ist es erforderlich, nur den Seitennamen abzurufen. Das folgende Beispiel zeigt, wie es geht:
quelle
quelle
Versuche dies. Für mich geht das.
Verwenden Sie wie folgt:
quelle
Einfacher und leichter Trick:
Die URL sieht folgendermaßen aus:
http://example.com/folder/
quelle
Sie können es so machen, aber leider ist mein Englisch nicht gut genug.
Holen Sie sich zuerst die Basis-URL mit diesem einfachen Code.
Ich habe diesen Code auf meinem lokalen Server und in der Öffentlichkeit getestet und das Ergebnis ist gut.
Die Ausgabe wird wie folgt aussehen:
Verwenden Sie die
home_base_url
Funktionindex.php
Ihrer Website und definieren Sie sieund dann können Sie diese Funktion verwenden, um Skripte, CSS und Inhalte über URL wie zu laden
erstellt eine Ausgabe wie folgt:
und wenn dieses Skript gut funktioniert ,,!
quelle
Hier ist eine, die ich gerade zusammengestellt habe und die für mich funktioniert. Es wird ein Array mit 2 Elementen zurückgegeben. Das erste Element ist alles vor dem? und das zweite ist ein Array, das alle Abfragezeichenfolgenvariablen in einem assoziativen Array enthält.
Hinweis: Dies ist eine Erweiterung der Antwort von maček oben. (Gutschrift, wo Gutschrift fällig ist.)
quelle
Bearbeitet unter der Antwort von @ user3832931, um den Server-Port einzuschließen.
um URLs wie ' https: // localhost: 8000 / folder / ' zu bilden
quelle
quelle
Versuchen Sie es mit:
$_SERVER['SERVER_NAME'];
Ich habe es verwendet, um die Basis-URL meiner Website wiederzugeben und mein CSS zu verlinken.
Hoffe das hilft!
quelle
Ich hatte die gleiche Frage wie das OP, aber vielleicht eine andere Anforderung. Ich habe diese Funktion erstellt ...
... die ich übrigens verwende, um absolute URLs zu erstellen, die für die Umleitung verwendet werden sollen.
quelle
und du bekommst so etwas wie
quelle
Testen Sie einfach und erhalten Sie das Ergebnis.
quelle
In meinem Fall benötigte ich eine Basis-URL ähnlich der
RewriteBase
in der.htaccess
Datei enthaltenen.Leider ist es mit PHP nicht möglich , das einfach
RewriteBase
aus der.htaccess
Datei abzurufen . Es ist jedoch möglich , eine Umgebungsvariable in der .htaccess-Datei festzulegen und diese Variable dann in PHP abzurufen. Überprüfen Sie einfach diese Codebits:.htaccess
index.php
Jetzt verwende ich dies im Basis-Tag der Vorlage (im Kopfbereich der Seite):
Wenn die Variable also nicht leer war, verwenden wir sie. Andernfalls wird auf
/
den Standardbasispfad zurückgegriffen.Abhängig von der Umgebung ist die Basis-URL immer korrekt. Ich verwende
/
als Basis-URL auf lokalen und Produktions-Websites. Aber/foldername/
für die Staging-Umgebung.Sie hatten alle ihre eigenen,
.htaccess
weil die RewriteBase anders war. Diese Lösung funktioniert also für mich.quelle
Schauen Sie sich $ _SERVER ['REQUEST_URI'] an, dh
Wenn Sie sowohl HTTP als auch HTTPS unterstützen möchten, können Sie diese Lösung verwenden
Das hat bei mir funktioniert. Ich hoffe, das wird dir auch helfen. Vielen Dank, dass Sie diese Frage gestellt haben.
quelle