php

Dohvatite puni URL u PHP-u

Dohvatite puni URL u PHP-u
Dvije vrste globalnih varijabli mogu se koristiti u PHP-u: superglobalna varijabla i korisnički definirana varijabla. $ _SERVER je superglobalna varijabla polja koja se koristi za dohvaćanje pune staze trenutne stranice. Za dobivanje punog URL-a stranice potreban je i protokol (HTTP ili HTTPS) URL-a. Ako $ _SERVER ['HTTPS'] vraća se 'na', tada će se HTTPS koristiti s URL adresom, u suprotnom, HTTP će se koristiti. Kako se može pronaći puna URL adresa trenutne stranice pomoću $ _SERVER niz je objašnjen u ovom vodiču.

Potrebne varijable

Sljedeće su superglobalne varijable potrebne da bi se saznala URL adresa trenutne stranice.

Superglobalne varijable Svrha
$ _SERVER ['HTTPS'] Vraća se na ako se HTTPS protokol koristi u URL-u trenutne stranice.
$ _SERVER ['HTTP_HOST'] Vraća ime poslužitelja trenutne stranice.
$ _SERVER ['REQUEST_URI'] Vraća traženo ime resursa.
$ _SERVER ['SERVER_PORT'] Vraća broj porta poslužitelja.
$ _SERVER ['QUERY_STRING'] Vraća vrijednost niza upita ako postoji u URL adresi trenutne stranice.

Primjer 1: Prikažite URL trenutne stranice pomoću uvjetnog izraza

Sljedeći primjer pokazuje kako se uvjetni izraz može koristiti za dobivanje protokola koji se koristi u URL-u trenutne stranice. Stvorite PHP datoteku sa sljedećom skriptom.

Vrijednost $ _SERVER ['HTTP_HOST'] koristi se za dobivanje imena domene trenutnog URL-a. Vrijednost $ _SERVER ['REQUEST_URI'] koristi se za dobivanje naziva traženog resursa. isset () funkcija koristi se za provjeru je li $ _SERVER ['HTTPS'] skup ili nije, a ako je postavljena, tada provjerite vrijednost $ _SERVER ['HTTPS'] je li to na ili ne. Dalje, vrijednosti ove tri varijable kombiniraju se s '//:' kako bi se dohvatio puni URL trenutne stranice.

// Pročitajte naziv domene trenutne stranice
$ domena = $ _SERVER ['HTTP_HOST'];
// Pročitajte traženi resurs
$ resurs = $ _SERVER ['REQUEST_URI'];
// Doznajte protokol trenutnog url-a
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'uključeno')
$ protokol = "https";
drugo
$ protokol = "http";
// Kombinirajte sve dijelove da biste dobili punu URL adresu
$ url = $ protokol.": //".$ domena.$ resurs;
// Ispis URL adrese trenutne stranice
jeka "

URL trenutne adrese
stranica je:

". $ url;?>

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja. Vrijednost $ _SERVER ['HTTPS'] nije na za lokalni poslužitelj. Dakle, izlaz pokazuje http protokol za trenutni URL.

Primjer 2: Prikažite URL trenutne stranice pomoću ternarnog operatora

Sljedeći primjer pokazuje način dobivanja punog URL-a trenutne stranice pomoću ternarnog operatora. Stvorite PHP datoteku sa sljedećom skriptom.

Ako uvjet se koristi u prethodnom primjeru kako bi se saznalo koji se protokol koristi u URL-u trenutne stranice. Isti se zadatak radi pomoću ternarnog operatora u ovoj skripti. isset () funkcija koristi se za provjeru je li $ _SERVER ['HTTPS'] skup ili nije, i je li vrijednost $ _SERVER ['HTTPS'] na, tada će ternarni operater vratiti HTTPS, u protivnom HTTP. Preostali dijelovi URL-a dohvaćaju se i ispisuju kao u prethodnom primjeru.

// Doznajte protokol trenutnog url-a
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'uključeno' ? "https": "http");
// Pročitajte ime domene trenutne stranice
$ domena = $ _SERVER ['HTTP_HOST'];
// Pročitajte traženi resurs
$ resurs = $ _SERVER ['REQUEST_URI'];
// Kombinirajte sve dijelove da biste dobili punu URL adresu
$ url = $ protokol.": //".$ domena.$ resurs;
// Ispis URL adrese trenutne stranice
jeka "

URL trenutne stranice je:

". $ url;
?>

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja. Vrijednost $ _SERVER ['HTTPS'] nije na za lokalni poslužitelj. Dakle, izlaz prikazuje HTTP protokol za trenutni URL.

Primjer 3: Prikažite URL trenutne stranice na temelju broja porta

U prethodna dva primjera, vrijednost $ _SERVER ['HTTPS'] koristi se za otkrivanje protokola trenutnog URL-a stranice, a uz URL se ne koristi niti upit. Sljedeći primjer pokazuje kako se varijabla $ _SERVER ['SERVER_PORT'] može koristiti za pronalaženje protokola i dohvaćanje pune adrese URL-a s nizom upita. Stvorite PHP datoteku sa sljedećom skriptom.

Ovdje se za otkrivanje protokola koristi više logičkih uvjeta i ternarni operator. Ako je vrijednost $ _SERVER ['HTTPS'] prazna ili postavljena na isključiti, tada će provjeriti vrijednost $ _SERVER ['SERVER_PORT'] kako bi saznao protokol trenutnog URL-a. Varijabla $ _SERVER ['QUERY_STRING'] koristi se za dohvaćanje vrijednosti niza upita iz URL-a.

// Doznajte protokol trenutnog URL-a
$ protokol = ((!prazno ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'isključeno') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Pročitajte ime domene trenutne stranice
$ domena = $ _SERVER ['HTTP_HOST'];
// Pročitajte traženi resurs
$ resurs = $ _SERVER ['REQUEST_URI'];
// Očitavanje vrijednosti niza upita
$ upit = $ _SERVER ['QUERY_STRING'];
// Kombinirajte sve dijelove da biste dobili punu URL adresu
$ url = $ protokol.$ domena.$ resurs;
// Ispis URL adrese trenutne stranice
jeka "

Puna URL adresa trenutne stranice je:

". $ url;
// Ispis dijela niza upita
jeka "

Niz upita je:

". $ upit;
?>

Izlaz:

Sljedeći će se izlaz pojaviti nakon izvršavanja gornje skripte s poslužitelja bez ikakvog niza upita. U URL-u nije naveden niz upita. Dakle, izlaz prikazuje prazan niz upita.

Sljedeći će se izlaz pojaviti nakon izvršavanja gornje skripte s poslužitelja s nizom upita. Sljedeći izlaz prikazuje URL adresu s nizom upita i nizom upita zasebno.

Zaključak

Različiti načini dohvaćanja punog URL-a trenutne stranice prikazani su u ovom vodiču pomoću različitih primjera. Način razdvajanja URL-a i niza upita također je prikazan u ovom vodiču. Nadamo se da će ovaj vodič pomoći čitateljima da znaju način čitanja cijelog URL-a trenutne stranice pomoću PHP skripte.

Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...