php

Pridobite celoten URL v PHP

Pridobite celoten URL v PHP
V PHP lahko uporabimo dve vrsti globalnih spremenljivk: superglobalno in uporabniško določeno spremenljivko. $ _SERVER je superglobal spremenljivka polja, ki se uporablja za pridobivanje celotne poti trenutne strani. Za celoten URL strani je potreben tudi protokol (HTTP ali HTTPS) URL-ja. Če $ _SERVER ['HTTPS'] vrne 'na', potem bo HTTPS uporabljen z naslovom URL, sicer, HTTP bo uporabljen. Kako je mogoče s pomočjo datoteke $ _SERVER array je razloženo v tej vadnici.

Potrebne spremenljivke

Za iskanje naslova URL trenutne strani so potrebne naslednje superglobalne spremenljivke.

Superglobalne spremenljivke Namen
$ _SERVER ['HTTPS'] Vrne se na č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-ja trenutne strani.

Primer 1: Prikažite URL trenutne strani z uporabo pogojnega stavka

Naslednji primer prikazuje, kako lahko pogojni stavek uporabite 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 uporablja za pridobitev imena zahtevanega vira. isset () funkcija se uporablja za preverjanje, ali je $ _SERVER ['HTTPS'] nabor ali ne, in če je nastavljen, preverite vrednost $ _SERVER ['HTTPS'] ali je na ali ne. Nato se vrednosti teh treh spremenljivk kombinirajo z '//:', da se pridobi celotni URL trenutne strani.

// Preberite ime domene trenutne strani
$ domena = $ _SERVER ['HTTP_HOST'];
// Preberite zahtevani vir
$ resource = $ _SERVER ['REQUEST_URI'];
// Poiščite protokol trenutnega URL-ja
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protokol = "https";
drugače
$ protokol = "http";
// Vse dele združimo, da dobimo celoten naslov URL
$ url = $ protokol.": //".$ domena.$ vir;
// Natisni naslov URL trenutne strani
odmev "

Naslov trenutnega URL-ja
stran je:

". $ url;?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika. Vrednost $ _SERVER ['HTTPS'] ni na za lokalni strežnik. Torej izhod prikazuje http protokol za trenutni URL.

Primer 2: Z uporabo ternarnega operatorja prikažite URL trenutne strani

Naslednji primer prikazuje način pridobivanja celotnega URL-ja trenutne strani s pomočjo ternarnega operaterja. Ustvarite datoteko PHP z naslednjim skriptom.

Če pogoj je uporabljen v prejšnjem primeru, da ugotovimo, kateri protokol je uporabljen v URL-ju trenutne strani. Ista naloga je narejena s ternarnim operatorjem v tem skriptu. isset () funkcija se uporablja za preverjanje, ali je $ _SERVER ['HTTPS'] nabor ali ne, in ali je vrednost $ _SERVER ['HTTPS'] na, nato bo ternarni operater vrnil HTTPS, sicer pa HTTP. Drugi deli URL-ja se pridobijo in natisnejo kot prejšnji primer.

// Poiščite protokol trenutnega URL-ja
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'vklopljeno' ? "https": "http");
// Preberite ime domene trenutne strani
$ domena = $ _SERVER ['HTTP_HOST'];
// Preberite zahtevani vir
$ resource = $ _SERVER ['REQUEST_URI'];
// Vse dele združimo, da dobimo celoten naslov URL
$ url = $ protokol.": //".$ domena.$ vir;
// Natisni naslov URL trenutne strani
odmev "

Naslov trenutne strani je:

". $ url;
?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika. Vrednost $ _SERVER ['HTTPS'] ni na za lokalni strežnik. Torej izhod prikazuje protokol HTTP za trenutni URL.

Primer 3: Prikažite URL trenutne strani glede na številko vrat

V prejšnjih dveh primerih je vrednost $ _SERVER ['HTTPS'] uporabljena za iskanje protokola trenutnega URL-ja strani, z URL-jem pa ni uporabljen niz poizvedbe. Naslednji primer prikazuje, kako lahko spremenljivko $ _SERVER ['SERVER_PORT'] uporabite za iskanje 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 ternarni operator. Če je vrednost $ _SERVER ['HTTPS'] prazna ali nastavljena na izključeno, nato bo preveril vrednost $ _SERVER ['SERVER_PORT'], da bo ugotovil protokol trenutnega URL-ja. Spremenljivka $ _SERVER ['QUERY_STRING'] se uporablja za pridobivanje vrednosti niza poizvedbe iz URL-ja.

// Poiščite 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
$ resource = $ _SERVER ['REQUEST_URI'];
// Preberite vrednost poizvedbe
$ poizvedba = $ _SERVER ['QUERY_STRING'];
// Vse dele združimo, da dobimo celoten naslov URL
$ url = $ protokol.$ domena.$ vir;
// Natisni naslov URL trenutne strani
odmev "

Polni URL trenutne strani je:

". $ url;
// Natisni del niza poizvedbe
odmev "

Niz poizvedbe je:

". $ poizvedba;
?>

Izhod:

Naslednji izhod se bo prikazal po izvedbi zgornjega skripta s strežnika brez poizvedbenega niza. V URL-ju ni naveden poizvedbeni niz. Torej izhod prikazuje prazen niz poizvedbe.

Naslednji izhod se bo prikazal po izvedbi zgornjega skripta s strežnika z nizom poizvedbe. 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 niza poizvedbe. Upamo, da bo ta vadnica bralcem pomagala poznati način branja celotnega URL-ja trenutne strani s pomočjo skripta PHP.

Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...
Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...
Vulkan za uporabnike Linuxa
Z vsako novo generacijo grafičnih kart vidimo, da razvijalci iger premikajo meje grafične zvestobe in se približujejo fotorealizmu. A kljub vsem kredi...