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.