php

Načítajte úplnú adresu URL v PHP

Načítajte úplnú adresu URL v PHP
V PHP možno použiť dva typy globálnych premenných: superglobálnu premennú a užívateľom definovanú premennú. $ _SERVER je superglobálna premenná poľa, ktorá sa používa na získanie celej cesty aktuálnej stránky. Protokol (HTTP alebo HTTPS) adresy URL sa vyžaduje aj na získanie celej adresy URL stránky. Ak $ _SERVER ['HTTPS'] vracia „na“, v opačnom prípade sa použije HTTPS s adresou URL, HTTP bude použitý. Ako je možné získať úplnú adresu URL aktuálnej stránky pomocou stránky $ _SERVER pole bolo v tomto návode vysvetlené.

Nevyhnutné premenné

Na zistenie adresy URL aktuálnej stránky sú potrebné nasledujúce superglobálne premenné.

Superglobálne premenné Účely
$ _SERVER ['HTTPS'] Vracia sa to na ak sa v adrese URL aktuálnej stránky používa protokol HTTPS.
$ _SERVER ['HTTP_HOST'] Vráti názov servera aktuálnej stránky.
$ _SERVER ['REQUEST_URI'] Vráti požadovaný názov zdroja.
$ _SERVER ['SERVER_PORT'] Vráti číslo portu servera.
$ _SERVER ['QUERY_STRING'] Vráti hodnotu reťazca dotazu, ak existuje v adrese URL aktuálnej stránky.

Príklad 1: Zobrazte adresu URL aktuálnej stránky pomocou podmieneného príkazu

Nasledujúci príklad ukazuje, ako je možné použiť podmienený príkaz na získanie protokolu použitého v adrese URL aktuálnej stránky. Vytvorte súbor PHP s nasledujúcim skriptom.

Hodnota $ _SERVER ['HTTP_HOST'] sa používa na získanie názvu domény aktuálnej adresy URL. Hodnota $ _SERVER ['REQUEST_URI'] sa používa na získanie názvu požadovaného zdroja. isset () Funkcia sa používa na kontrolu, či je $ _SERVER ['HTTPS'] množina alebo nie, a ak je nastavená, potom skontrolujte hodnotu $ _SERVER ['HTTPS'], či je na alebo nie. Ďalej sa hodnoty týchto troch premenných skombinujú s '//:' na získanie celej adresy URL aktuálnej stránky.

// Prečítajte si názov domény aktuálnej stránky
$ domain = $ _SERVER ['HTTP_HOST'];
// Prečítajte si požadovaný zdroj
$ resource = $ _SERVER ['REQUEST_URI'];
// Zistí protokol aktuálnej adresy URL
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protokol = "https";
inak
$ protokol = "http";
// Kombináciou všetkých častí získate úplnú adresu URL
$ url = $ protokol.„: //“.$ doména.$ zdroj;
// Vytlačí adresu URL aktuálnej stránky
ozvena “

Adresa URL aktuálneho
stránka je:

„. $ url;?>

Výkon:

Po spustení skriptu zo servera sa objaví nasledujúci výstup. Hodnota $ _SERVER ['HTTPS'] nie je na pre lokálny server. Výstup teda ukazuje http protokol pre aktuálnu adresu URL.

Príklad 2: Zobrazte adresu URL aktuálnej stránky pomocou ternárneho operátora

Nasledujúci príklad ukazuje spôsob, ako získať úplnú adresu URL aktuálnej stránky pomocou ternárneho operátora. Vytvorte súbor PHP s nasledujúcim skriptom.

Ak podmienka sa v predchádzajúcom príklade používa na zistenie, ktorý protokol sa používa v adrese URL aktuálnej stránky. Rovnaká úloha sa vykonáva pomocou ternárneho operátora v tomto skripte. isset () funkcia slúži na kontrolu, či je $ _SERVER ['HTTPS'] množina alebo nie, a či je hodnota $ _SERVER ['HTTPS'] na, potom ternárny operátor vráti HTTPS, inak vráti HTTP. Ostatné časti adresy URL sa načítajú a tlačia ako v predchádzajúcom príklade.

// Zistí protokol aktuálnej adresy URL
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'na' ? "https": "http");
// Prečítajte si názov domény aktuálnej stránky
$ domain = $ _SERVER ['HTTP_HOST'];
// Prečítajte si požadovaný zdroj
$ resource = $ _SERVER ['REQUEST_URI'];
// Kombináciou všetkých častí získate úplnú adresu URL
$ url = $ protokol.„: //“.$ doména.$ zdroj;
// Vytlačí adresu URL aktuálnej stránky
ozvena “

Adresa URL aktuálnej stránky je:

„. $ url;
?>

Výkon:

Po spustení skriptu zo servera sa objaví nasledujúci výstup. Hodnota $ _SERVER ['HTTPS'] nie je na pre lokálny server. Výstup teda zobrazuje protokol HTTP pre aktuálnu adresu URL.

Príklad 3: Zobraziť adresu URL aktuálnej stránky na základe čísla portu

V predchádzajúcich dvoch príkladoch sa na zistenie protokolu aktuálnej adresy URL stránky použije hodnota $ _SERVER ['HTTPS'] a s adresou URL sa nepoužije žiadny reťazec dopytu. Nasledujúci príklad ukazuje, ako možno premennú $ _SERVER ['SERVER_PORT'] použiť na zistenie protokolu a na získanie celej adresy URL pomocou reťazca dotazu. Vytvorte súbor PHP s nasledujúcim skriptom.

Tu sa na zistenie protokolu používa viac logických podmienok a ternárny operátor. Ak je hodnota $ _SERVER ['HTTPS'] prázdna alebo nastavená na vypnutý, potom skontroluje hodnotu $ _SERVER ['SERVER_PORT'] a zistí protokol aktuálnej adresy URL. Premenná $ _SERVER ['QUERY_STRING'] sa používa na načítanie hodnoty reťazca dotazu z adresy URL.

// Zistí protokol aktuálnej adresy URL
$ protokol = (((!prázdny ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'vypnuté') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Prečítajte si názov domény aktuálnej stránky
$ domain = $ _SERVER ['HTTP_HOST'];
// Prečítajte si požadovaný zdroj
$ resource = $ _SERVER ['REQUEST_URI'];
// Prečítajte si hodnotu reťazca dotazu
$ query = $ _SERVER ['QUERY_STRING'];
// Kombináciou všetkých častí získate úplnú adresu URL
$ url = $ protokol.$ doména.$ zdroj;
// Vytlačí adresu URL aktuálnej stránky
ozvena “

Úplná adresa URL aktuálnej stránky je:

„. $ url;
// Vytlačí časť reťazca dotazu
ozvena “

Reťazec dotazu je:

„. $ dopyt;
?>

Výkon:

Nasledujúci výstup sa objaví po vykonaní vyššie uvedeného skriptu zo servera bez reťazca dotazu. V adrese URL nie je uvedený žiadny reťazec dopytu. Výstup teda zobrazuje prázdny reťazec dotazu.

Po vykonaní vyššie uvedeného skriptu zo servera s reťazcom dotazu sa objaví nasledujúci výstup. Nasledujúci výstup zobrazuje adresu URL s reťazcom dotazu a reťazcom dotazu osobitne.

Záver

Rôzne spôsoby načítania úplnej adresy URL aktuálnej stránky sú v tejto príručke zobrazené pomocou rôznych príkladov. V tomto výučbe je tiež znázornený spôsob oddelenia adresy URL a reťazca dotazu. Dúfajme, že tento výukový program pomôže čitateľom spoznať spôsob čítania úplnej adresy URL aktuálnej stránky pomocou skriptu PHP.

Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...
Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...