Nujne spremenljivke
Naslednje superglobalne spremenljivke so potrebne, če želite izvedeti naslov URL trenutne strani.
Superglobalne spremenljivke | Namen |
---|---|
$ _SERVER ['HTTPS'] | Vrne se naprej če je v URL -ju trenutne strani uporabljen protokol HTTPS. |
$ _SERVER ['HTTP_HOST'] | Vrne ime strežnika trenutne strani. |
$ _SERVER ['REQUEST_URI'] | Vrne zahtevano ime vira. |
$ _SERVER ['SERVER_PORT'] | Vrne številko vrat strežnika. |
$ _SERVER ['QUERY_STRING'] | Vrne vrednost niza poizvedbe, če obstaja v naslovu URL trenutne strani. |
Primer 1: Prikažite URL trenutne strani z uporabo pogojnega stavka
Naslednji primer prikazuje, kako lahko pogojni stavek uporabimo za pridobitev protokola, uporabljenega v URL -ju trenutne strani. Ustvarite datoteko PHP z naslednjim skriptom.
Vrednost $ _SERVER ['HTTP_HOST'] se uporablja za pridobitev imena domene trenutnega URL -ja. Vrednost $ _SERVER [‘REQUEST_URI’] se uporabi za pridobitev imena zahtevanega vira. odšel) funkcija se uporablja za preverjanje, ali je $ _SERVER ['HTTPS'] niz ali ne, in če je nastavljen, potem preverite vrednost $ _SERVER ['HTTPS'] ali je naprej ali ne. Nato se vrednosti teh treh spremenljivk združijo z „//:“ za pridobitev celotnega URL -ja trenutne strani.
// Preberite ime domene trenutne strani
$ domena = $ _SERVER['HTTP_HOST'];
// Preberite zahtevani vir
$ vir = $ _SERVER['REQUEST_URI'];
// Ugotovite protokol trenutnega URL -ja
če( odšel ($ _SERVER[»HTTPS«]) && $ _SERVER[»HTTPS«] === 'vklopljeno')
$ protokol = 'https';
drugače
$ protokol = 'http';
// Združite vse dele, da dobite celoten naslov URL
$ url = $ protokol.': //'.$ domena.$ vir;
// Natisnite naslov URL trenutne strani
vrgel ven '
Naslov URL trenutnega
stran je:
'. $ url;?> Izhod:
Po zagonu skripta s strežnika se prikaže naslednji izhod. Vrednost $ _SERVER ['HTTPS'] ni naprej za lokalni strežnik. Tako izhod prikazuje http protokol za trenutni URL.
Primer 2: Prikažite URL trenutne strani z uporabo ternarnega operaterja
Naslednji primer prikazuje način, kako s pomočjo trojnega operaterja pridobiti celoten URL trenutne strani. Ustvarite datoteko PHP z naslednjim skriptom.
Če pogoj je v prejšnjem primeru uporabljen za ugotovitev, kateri protokol je uporabljen v URL -ju trenutne strani. Ista naloga se izvede s pomočjo trojnega operaterja v tem skriptu. odšel) funkcija se uporablja za preverjanje, ali je $ _SERVER ['HTTPS'] niz ali ne in ali je vrednost $ _SERVER ['HTTPS'] naprej, potem bo trojni operater vrnil HTTPS, sicer pa HTTP. Drugi deli URL -ja se pridobijo in natisnejo kot prejšnji primer.
// Ugotovite protokol trenutnega URL -ja
$ protokol = ( odšel ($ _SERVER[»HTTPS«]) && $ _SERVER[»HTTPS«]
== 'vklopljeno'?'https' : 'http');
// Preberite ime domene trenutne strani
$ domena = $ _SERVER['HTTP_HOST'];
// Preberite zahtevani vir
$ vir = $ _SERVER['REQUEST_URI'];
// Združite vse dele, da dobite celoten naslov URL
$ url = $ protokol.': //'.$ domena.$ vir;
// Natisnite naslov URL trenutne strani
vrgel ven '
Naslov URL trenutne strani je:
'. $ url;?>
Izhod:
Po zagonu skripta s strežnika se prikaže naslednji izhod. Vrednost $ _SERVER ['HTTPS'] ni naprej za lokalni strežnik. Tako izhod prikazuje protokol HTTP za trenutni URL.
Primer 3: Prikažite URL trenutne strani glede na številko vrat
V prejšnjih dveh primerih se vrednost $ _SERVER ['HTTPS'] uporablja za ugotavljanje protokola trenutnega URL -ja strani in z URL -jem ni uporabljen niz poizvedb. Naslednji primer prikazuje, kako lahko spremenljivko $ _SERVER [‘SERVER_PORT’] uporabite za odkrivanje protokola in pridobivanje celotnega naslova URL z nizom poizvedbe. Ustvarite datoteko PHP z naslednjim skriptom.
Tu se za ugotavljanje protokola uporablja več logičnih pogojev in trojni operater. Če je vrednost $ _SERVER ['HTTPS'] prazna ali nastavljena na izključeno, nato bo preveril vrednost $ _SERVER ['SERVER_PORT'], da bi ugotovil protokol trenutnega URL -ja. Spremenljivka $ _SERVER [‘QUERY_STRING’] se uporablja za pridobivanje vrednosti niza poizvedbe iz URL -ja.
// Ugotovite protokol trenutnega URL -ja
$ protokol = ((! prazno ($ _SERVER[»HTTPS«]) && $ _SERVER[»HTTPS«]
! = 'izključeno') || $ _SERVER['SERVER_PORT'] == 443)?'https: //' : 'http: //';
// Preberite ime domene trenutne strani
$ domena = $ _SERVER['HTTP_HOST'];
// Preberite zahtevani vir
$ vir = $ _SERVER['REQUEST_URI'];
// Preberite vrednost niza poizvedbe
$ poizvedba = $ _SERVER[»QUERY_STRING«];
// Združite vse dele, da dobite celoten naslov URL
$ url = $ protokol.$ domena.$ vir;
// Natisnite naslov URL trenutne strani
vrgel ven '
Celoten naslov URL trenutne strani je:
'. $ url;// Natisnite del niza poizvedbe
vrgel ven '
Niz poizvedbe je:
'. $ poizvedba;?>
Izhod:
Naslednji izhod bo prikazan po izvedbi zgornjega skripta s strežnika brez niza poizvedbe. V URL -ju ni poizvedbenega niza. Tako izhod prikazuje prazen niz poizvedbe.
Po izvedbi zgornjega skripta iz strežnika z nizom poizvedbe se prikaže naslednji izhod. Naslednji izhod prikazuje naslov URL z nizom poizvedbe in nizom poizvedbe ločeno.
Zaključek
V tej vadnici so z različnimi primeri prikazani različni načini pridobivanja celotnega URL -ja trenutne strani. V tej vadnici je prikazan tudi način ločevanja URL -ja in poizvedbenega niza. Upajmo, da bo ta vadnica bralcem pomagala poznati način branja celotnega URL -ja trenutne strani s skriptom PHP.