Dohvatite cijeli URL u PHP -u

Retrieve Full Url Php



Dvije vrste globalnih varijabli mogu se koristiti u PHP-u: superglobalna varijabla i korisnički definirana varijabla. $ _SERVER je superglobalna varijabla niza koja se koristi za dohvaćanje pune staze trenutne stranice. Protokol (HTTP ili HTTPS) URL -a također je potreban za dobivanje cijelog URL -a stranice. Ako $ _SERVER ['HTTPS'] vraća 'na', tada će se HTTPS koristiti s URL adresom, inače, HTTP će se koristiti. Kako se cijela URL adresa trenutne stranice može dohvatiti pomoću $ _SERVER niz je objašnjen u ovom vodiču.

Potrebne varijable

Sljedeće superglobalne varijable potrebne su za otkrivanje URL adrese trenutne stranice.







Superglobalne varijable Svrhe
$ _SERVER ['HTTPS'] Vraća se na ako se HTTPS protokol koristi u URL -u trenutne stranice.
$ _SERVER ['HTTP_HOST'] Vraća naziv poslužitelja trenutne stranice.
$ _SERVER ['REQUEST_URI'] Vraća traženi naziv 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 uvjetne naredbe

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



Vrijednost $ _SERVER [‘HTTP_HOST’] koristi se za dobivanje naziva domene trenutnog URL -a. Vrijednost $ _SERVER [‘REQUEST_URI’] koristi se za dobivanje naziva traženog resursa. otišao) funkcija se koristi za provjeru je li $ _SERVER ['HTTPS'] skup ili nije, a ako je postavljen, tada provjerite vrijednost $ _SERVER ['HTTPS'] je li to na ili ne. Zatim se vrijednosti ove tri varijable kombiniraju s ‘//:’ kako bi se dohvatio cijeli URL trenutačne stranice.




// Pročitajte naziv domene trenutne stranice
$ domena = $ _SERVER['HTTP_HOST'];
// Pročitajte traženi resurs
$ resurs = $ _SERVER['REQUEST_URI'];
// Saznajte protokol trenutnog URL -a
ako( otišao ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'na')
$ protokol = 'https';
drugo
$ protokol = 'http';

// Kombinirajte sve dijelove kako biste dobili punu URL adresu
$ url = $ protokol.': //'.$ domena.$ resurs;
// Ispisuje URL adresu trenutne stranice
izbaciti '

URL adresa trenutne
stranica je:

'
. $ url;?>

Izlaz:





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



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

Sljedeći primjer prikazuje način dobivanja punog URL -a trenutne stranice pomoću trostrukog operatora. Napravite 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 zadatak je učinjen korištenjem ternarnog operatora u ovoj skripti. otišao) funkcija se koristi za provjeru je li $ _SERVER ['HTTPS'] skup ili nije, i je li vrijednost $ _SERVER ['HTTPS'] na, tada će trostruki operator vratiti HTTPS, u protivnom će vratiti HTTP. Ostali dijelovi URL -a dohvaćaju se i ispisuju kao u prethodnom primjeru.


// Saznajte protokol trenutnog URL -a
$ protokol = ( otišao ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'na'?'https' : 'http');
// Pročitajte naziv domene trenutne stranice
$ domena = $ _SERVER['HTTP_HOST'];
// Pročitajte traženi resurs
$ resurs = $ _SERVER['REQUEST_URI'];
// Kombinirajte sve dijelove kako biste dobili punu URL adresu
$ url = $ protokol.': //'.$ domena.$ resurs;
// Ispisuje URL adresu trenutne stranice
izbaciti '

URL adresa trenutne stranice je:

'
. $ url;
?>

Izlaz:

Sljedeći izlaz pojavit će se 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 trenutačne stranice na temelju broja porta

U prethodna dva primjera vrijednost $ _SERVER [‘HTTPS’] koristi se za otkrivanje protokola trenutnog URL -a stranice, a s URL -om se ne koristi niz upita. Sljedeći primjer pokazuje kako se varijabla $ _SERVER [‘SERVER_PORT’] može koristiti za otkrivanje protokola i dohvaćanje cijele URL adrese s nizom upita. Napravite 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čeno, 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 s URL -a.


// Saznajte protokol trenutnog URL -a
$ protokol = ((! prazan ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'isključeno') || $ _SERVER['SERVER_PORT'] == 443)?'https: //' : 'http: //';
// Pročitajte naziv domene trenutne stranice
$ domena = $ _SERVER['HTTP_HOST'];
// Pročitajte traženi resurs
$ resurs = $ _SERVER['REQUEST_URI'];
// Čitanje vrijednosti niza upita
$ upit = $ _SERVER['QUERY_STRING'];
// Kombinirajte sve dijelove kako biste dobili punu URL adresu
$ url = $ protokol.$ domena.$ resurs;
// Ispisuje URL adresu trenutne stranice
izbaciti '

Puna URL adresa trenutne stranice je:

'
. $ url;
// Ispis dijela niza upita
izbaciti '

Niz upita je:

'
. $ upit;
?>

Izlaz:

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

Sljedeći izlaz pojavit će se 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

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