php

Načíst úplnou adresu URL v PHP

Načíst úplnou adresu URL v PHP
V PHP lze použít dva typy globálních proměnných: superglobální proměnnou a uživatelem definovanou proměnnou. $ _SERVER je superglobální proměnná pole, která se používá k načtení celé cesty aktuální stránky. K získání úplné adresy URL stránky je také vyžadován protokol (HTTP nebo HTTPS). Li $ _SERVER ['HTTPS'] se vrací 'na', pak bude s URL adresou použit HTTPS, jinak, HTTP bude použito. Jak lze pomocí adresy URL získat úplnou adresu URL aktuální stránky $ _SERVER pole bylo vysvětleno v tomto tutoriálu.

Nezbytné proměnné

Následující superglobální proměnné jsou nutné k vyhledání adresy URL aktuální stránky.

Superglobální proměnné Účely
$ _SERVER ['HTTPS'] Vrací se na pokud je v adrese URL aktuální stránky použit protokol HTTPS.
$ _SERVER ['HTTP_HOST'] Vrátí název serveru aktuální stránky.
$ _SERVER ['REQUEST_URI'] Vrátí požadovaný název prostředku.
$ _SERVER ['SERVER_PORT'] Vrátí číslo portu serveru.
$ _SERVER ['QUERY_STRING'] Vrátí hodnotu řetězce dotazu, pokud existuje v adrese URL aktuální stránky.

Příklad 1: Zobrazte adresu URL aktuální stránky pomocí podmíněného příkazu

Následující příklad ukazuje, jak lze použít podmíněný příkaz k získání protokolu použitého v adrese URL aktuální stránky. Vytvořte soubor PHP s následujícím skriptem.

Hodnota $ _SERVER ['HTTP_HOST'] se používá k získání názvu domény aktuální adresy URL. Hodnota $ _SERVER ['REQUEST_URI'] se používá k získání názvu požadovaného prostředku. isset () funkce se používá ke kontrole, zda je $ _SERVER ['HTTPS'] sada nebo ne, a pokud je nastavena, pak zkontrolujte hodnotu $ _SERVER ['HTTPS'], zda je na nebo ne. Dále jsou hodnoty těchto tří proměnných kombinovány s '//:', aby se načetla úplná adresa URL aktuální stránky.

// Přečtěte si název domény aktuální stránky
$ domain = $ _SERVER ['HTTP_HOST'];
// Přečtěte si požadovaný zdroj
$ resource = $ _SERVER ['REQUEST_URI'];
// Zjistěte protokol aktuální adresy URL
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protocol = "https";
jiný
$ protocol = "http";
// Kombinováním všech částí získáte úplnou adresu URL
$ url = $ protokol.": //".$ doména.$ zdroj;
// Vytiskne adresu URL aktuální stránky
ozvěna "

Adresa URL aktuálního
stránka je:

". $ url;?>

Výstup:

Po spuštění skriptu ze serveru se zobrazí následující výstup. Hodnota $ _SERVER ['HTTPS'] není na pro místní server. Výstup tedy ukazuje http protokol pro aktuální URL.

Příklad 2: Zobrazte adresu URL aktuální stránky pomocí ternárního operátoru

Následující příklad ukazuje způsob, jak získat úplnou adresu URL aktuální stránky pomocí ternárního operátoru. Vytvořte soubor PHP s následujícím skriptem.

Li podmínka se v předchozím příkladu používá ke zjištění, který protokol se použije v adrese URL aktuální stránky. Stejný úkol se provádí pomocí ternárního operátoru v tomto skriptu. isset () funkce se používá ke kontrole, zda je $ _SERVER ['HTTPS'] sada nebo ne, a zda je hodnota $ _SERVER ['HTTPS'] na, pak ternární operátor vrátí HTTPS, jinak vrátí HTTP. Ostatní části adresy URL se načtou a vytisknou jako v předchozím příkladu.

// Zjistěte protokol aktuální adresy URL
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'zapnuto' ? "https": "http");
// Přečtěte si název domény aktuální stránky
$ domain = $ _SERVER ['HTTP_HOST'];
// Přečtěte si požadovaný zdroj
$ resource = $ _SERVER ['REQUEST_URI'];
// Kombinováním všech částí získáte úplnou adresu URL
$ url = $ protokol.": //".$ doména.$ zdroj;
// Vytiskne adresu URL aktuální stránky
ozvěna "

Adresa URL aktuální stránky je:

". $ url;
?>

Výstup:

Po spuštění skriptu ze serveru se zobrazí následující výstup. Hodnota $ _SERVER ['HTTPS'] není na pro místní server. Výstup tedy ukazuje protokol HTTP pro aktuální adresu URL.

Příklad 3: Zobrazit URL aktuální stránky na základě čísla portu

V předchozích dvou příkladech se hodnota $ _SERVER ['HTTPS'] používá k vyhledání protokolu aktuální adresy URL stránky a u adresy URL se nepoužívá žádný řetězec dotazu. Následující příklad ukazuje, jak lze proměnnou $ _SERVER ['SERVER_PORT'] použít k vyhledání protokolu a načtení úplné adresy URL pomocí řetězce dotazu. Vytvořte soubor PHP s následujícím skriptem.

Zde se k zjištění protokolu používá několik logických podmínek a ternární operátor. Pokud je hodnota $ _SERVER ['HTTPS'] prázdná nebo nastavená na vypnuto, poté zkontroluje hodnotu $ _SERVER ['SERVER_PORT'] a zjistí protokol aktuální adresy URL. Proměnná $ _SERVER ['QUERY_STRING'] se používá k načtení hodnoty řetězce dotazu z adresy URL.

// Zjistěte protokol aktuální adresy URL
$ protokol = ((!prázdný ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'vypnuto') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Přečtěte si název domény aktuální stránky
$ domain = $ _SERVER ['HTTP_HOST'];
// Přečtěte si požadovaný zdroj
$ resource = $ _SERVER ['REQUEST_URI'];
// Přečtěte si hodnotu řetězce dotazu
$ query = $ _SERVER ['QUERY_STRING'];
// Kombinováním všech částí získáte úplnou adresu URL
$ url = $ protokol.$ doména.$ zdroj;
// Vytiskne URL adresu aktuální stránky
ozvěna "

Úplná adresa URL aktuální stránky je:

". $ url;
// Vytiskne část řetězce dotazu
ozvěna "

Řetězec dotazu je:

". $ dotaz;
?>

Výstup:

Následující výstup se zobrazí po provedení výše uvedeného skriptu ze serveru bez jakéhokoli řetězce dotazu. V adrese URL není uveden žádný řetězec dotazu. Výstup tedy zobrazuje prázdný řetězec dotazu.

Následující výstup se zobrazí po provedení výše uvedeného skriptu ze serveru s řetězcem dotazu. Následující výstup zobrazuje adresu URL s řetězcem dotazu a řetězcem dotazu samostatně.

Závěr

Různé způsoby načtení úplné adresy URL aktuální stránky jsou v tomto kurzu ukázány pomocí různých příkladů. Způsob, jak oddělit adresu URL a řetězec dotazu, je také uveden v tomto kurzu. Doufejme, že tento výukový program pomůže čtenářům poznat způsob čtení celé adresy URL aktuální stránky pomocí skriptu PHP.

Hry Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
OpenRA je herní engine Libre / Free Real Time Strategy, který obnovuje rané hry Westwood, jako je klasický Command & Conquer: Red Alert. Distribuované...
Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...
Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...