Načíst úplnou adresu URL v PHP

Retrieve Full Url 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í úplné cesty aktuální stránky. K získání úplné adresy URL stránky je také vyžadován protokol (HTTP nebo HTTPS) adresy URL. Li $ _SERVER ['HTTPS'] vrací 'na', pak bude s adresou URL použit HTTPS, v opačném případě HTTP bude použito. Jak lze získat úplnou adresu URL aktuální stránky pomocí souboru $ _SERVER pole bylo vysvětleno v tomto tutoriálu.

Nezbytné proměnné

K zjištění adresy URL aktuální stránky jsou nutné následující superglobální proměnné.







Superglobální proměnné Účely
$ _SERVER ['HTTPS'] Vrací se to 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 URL aktuální stránky pomocí podmíněného příkazu

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



K získání názvu domény aktuální adresy URL se používá hodnota $ _SERVER [‘HTTP_HOST‘]. K získání názvu požadovaného zdroje se používá hodnota $ _SERVER [‘REQUEST_URI‘]. pryč) funkce se používá ke kontrole, zda je $ _SERVER [‘HTTPS‘] sada nebo není, a pokud je nastavena, pak zkontrolujte hodnotu $ _SERVER [‘HTTPS‘], zda je na nebo ne. Dále se hodnoty těchto tří proměnných zkombinují s „//:“, aby se získala úplná adresa URL aktuální stránky.




// Přečtěte si název domény aktuální stránky
$ doména = $ _SERVER['HTTP_HOST'];
// Přečíst požadovaný zdroj
$ zdroj = $ _SERVER['REQUEST_URI'];
// Zjistěte protokol aktuální adresy URL
-li( pryč ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'na')
$ protokol = 'https';
jiný
$ protokol = 'http';

// Spojením všech částí získáte úplnou adresu URL
$ URL = $ protokol.': //'.$ doména.$ zdroj;
// Vytiskne URL adresu aktuální stránky
vyhodil '

URL adresa 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 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 pomocí následujícího skriptu.

Li podmínka je použita v předchozím příkladu ke zjištění, který protokol je použit v adrese URL aktuální stránky. Stejný úkol se provádí pomocí ternárního operátoru v tomto skriptu. pryč) 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
$ protokol = ( pryč ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'na'?'https' : 'http');
// Přečtěte si název domény aktuální stránky
$ doména = $ _SERVER['HTTP_HOST'];
// Přečíst požadovaný zdroj
$ zdroj = $ _SERVER['REQUEST_URI'];
// Spojením všech částí získáte úplnou adresu URL
$ URL = $ protokol.': //'.$ doména.$ zdroj;
// Vytiskne URL adresu aktuální stránky
vyhodil '

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í URL.

Příklad 3: Zobrazte URL aktuální stránky podle čísla portu

V předchozích dvou příkladech se hodnota $ _SERVER [‘HTTPS‘] používá k zjištění protokolu aktuální adresy URL stránky a s adresou URL se nepoužívá řetězec dotazu. Následující příklad ukazuje, jak lze pomocí proměnné $ _SERVER [‘SERVER_PORT‘] zjistit protokol a načíst úplnou adresu URL pomocí řetězce dotazu. Vytvořte soubor PHP pomocí následujícího skriptu.

Zde se pro zjištění protokolu používá více 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‘], aby zjistil 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['PORT SERVERU'] == 443)?'https: //' : 'http: //';
// Přečtěte si název domény aktuální stránky
$ doména = $ _SERVER['HTTP_HOST'];
// Přečíst požadovaný zdroj
$ zdroj = $ _SERVER['REQUEST_URI'];
// Přečíst hodnotu řetězce dotazu
$ dotaz = $ _SERVER['ŘETĚZEC DOTAZU'];
// Spojením všech částí získáte úplnou adresu URL
$ URL = $ protokol.$ doména.$ zdroj;
// Vytiskne URL adresu aktuální stránky
vyhodil '

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

'
. $ URL;
// Vytiskněte část řetězce dotazu
vyhodil '

Řetězec dotazu je:

'
. $ dotaz;
?>

Výstup:

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

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

Závěr

V tomto kurzu jsou pomocí různých příkladů ukázány různé způsoby načítání úplné adresy URL aktuální stránky. V tomto kurzu je také uveden způsob, jak oddělit adresu URL a řetězec dotazu. Naštěstí tento tutoriál pomůže čtenářům poznat způsob čtení celé adresy URL aktuální stránky pomocí skriptu PHP.