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.