Obțineți adresa URL completă în PHP

Retrieve Full Url Php



În PHP pot fi utilizate două tipuri de variabile globale: variabila superglobală și variabila definită de utilizator. $ _SERVER este o variabilă de matrice superglobală care este utilizată pentru a prelua calea completă a paginii curente. Protocolul (HTTP sau HTTPS) al adresei URL este, de asemenea, necesar pentru a obține adresa URL completă a paginii. Dacă $ _SERVER [„HTTPS”] se intoarce 'pe', atunci HTTPS va fi utilizat cu adresa URL, altfel, HTTP va fi folosit. Cum poate fi recuperată adresa URL completă a paginii curente folosind $ _SERVER matricea a fost explicată în acest tutorial.

Variabile necesare

Următoarele variabile superglobale sunt necesare pentru a afla adresa URL a paginii curente.







Variabile superglobale Scopuri
$ _SERVER [„HTTPS”] Se întoarce pe dacă protocolul HTTPS este utilizat în adresa URL a paginii curente.
$ _SERVER [‘HTTP_HOST’] Acesta returnează numele serverului paginii curente.
$ _SERVER [‘REQUEST_URI’] Returnează numele resursei solicitate.
$ _SERVER [‘SERVER_PORT’] Returnează numărul de port al serverului.
$ _SERVER [‘QUERY_STRING’] Returnează valoarea șirului de interogare dacă există în adresa URL a paginii curente.

Exemplul 1: Afișați adresa URL a paginii curente utilizând o declarație condițională

Următorul exemplu arată cum poate fi utilizată declarația condițională pentru a obține protocolul utilizat în adresa URL a paginii curente. Creați un fișier PHP cu următorul script.



Valoarea $ _SERVER [‘HTTP_HOST’] este utilizată pentru a obține numele de domeniu al adresei URL curente. Valoarea $ _SERVER [‘REQUEST_URI’] este utilizată pentru a obține numele resursei solicitate. plecat) funcția este utilizată pentru a verifica dacă $ _SERVER [‘HTTPS’] este un set sau nu, iar dacă este setat, verificați valoarea $ _SERVER [‘HTTPS’] dacă este pe sau nu. Apoi, valorile acestor trei variabile sunt combinate cu „//:” pentru a prelua adresa URL completă a paginii curente.




// Citiți numele domeniului paginii curente
$ domeniu = $ _SERVER[„HTTP_HOST”];
// Citiți resursa solicitată
$ resursa = $ _SERVER[„REQUEST_URI”];
// Aflați protocolul adresei URL curente
dacă( plecat ($ _SERVER[„HTTPS”]) && $ _SERVER[„HTTPS”] === 'pe')
$ protocol = „https”;
altceva
$ protocol = „http”;

// Combinați toate părțile pentru a obține adresa URL completă
$ url = $ protocol.„: //”.$ domeniu.$ resursa;
// Imprimați adresa URL a paginii curente
aruncat '

Adresa URL a curentului
pagina este:

'
. $ url;?>

Ieșire:





Următoarea ieșire va apărea după executarea scriptului de pe server. Valoarea $ _SERVER [„HTTPS”] nu este pe pentru serverul local. Deci, ieșirea arată http protocol pentru adresa URL curentă.



Exemplul 2: Afișați adresa URL a paginii curente utilizând operatorul ternar

Următorul exemplu arată modul de a obține adresa URL completă a paginii curente utilizând operatorul ternar. Creați un fișier PHP cu următorul script.

Dacă condiția este utilizată în exemplul anterior pentru a afla ce protocol este utilizat în adresa URL a paginii curente. Aceeași sarcină se face folosind operatorul ternar din acest script. plecat) funcția este utilizată pentru a verifica dacă $ _SERVER [‘HTTPS’] este un set sau nu, și dacă valoarea lui $ _SERVER [‘HTTPS’] este pe, atunci operatorul ternar va returna HTTPS, altfel va returna HTTP. Celelalte părți ale adresei URL sunt recuperate și tipărite ca în exemplul anterior.


// Aflați protocolul adresei URL curente
$ protocol = ( plecat ($ _SERVER[„HTTPS”]) && $ _SERVER[„HTTPS”]
== 'pe'?„https” : „http”);
// Citiți numele domeniului paginii curente
$ domeniu = $ _SERVER[„HTTP_HOST”];
// Citiți resursa solicitată
$ resursa = $ _SERVER[„REQUEST_URI”];
// Combinați toate părțile pentru a obține adresa URL completă
$ url = $ protocol.„: //”.$ domeniu.$ resursa;
// Imprimați adresa URL a paginii curente
aruncat '

Adresa URL a paginii curente este:

'
. $ url;
?>

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de pe server. Valoarea $ _SERVER [„HTTPS”] nu este pe pentru serverul local. Deci, ieșirea arată protocolul HTTP pentru adresa URL curentă.

Exemplul 3: Afișați adresa URL a paginii curente pe baza numărului de port

În cele două exemple anterioare, valoarea $ _SERVER [‘HTTPS’] este utilizată pentru a afla protocolul adresei URL curente a paginii și nu este utilizat niciun șir de interogare cu adresa URL. Următorul exemplu arată cum poate fi utilizată variabila $ _SERVER [‘SERVER_PORT’] pentru a afla protocolul și a prelua adresa URL completă cu șirul de interogare. Creați un fișier PHP cu următorul script.

Aici, sunt utilizate condiții logice multiple și operator ternar pentru a afla protocolul. Dacă valoarea $ _SERVER [‘HTTPS’] este goală sau setată la oprit, apoi va verifica valoarea $ _SERVER [‘SERVER_PORT’] pentru a afla protocolul adresei URL curente. $ _SERVER ['QUERY_STRING'] variabilă este utilizată pentru a extrage valoarea șirului de interogare de la adresa URL.


// Aflați protocolul adresei URL curente
$ protocol = ((! gol ($ _SERVER[„HTTPS”]) && $ _SERVER[„HTTPS”]
! = „oprit”) || $ _SERVER[„SERVER_PORT”] == 443)?„https: //” : „http: //”;
// Citiți numele domeniului paginii curente
$ domeniu = $ _SERVER[„HTTP_HOST”];
// Citiți resursa solicitată
$ resursa = $ _SERVER[„REQUEST_URI”];
// Citiți valoarea șirului de interogare
$ interogare = $ _SERVER['ȘIR DE INTEROGARE'];
// Combinați toate părțile pentru a obține adresa URL completă
$ url = $ protocol.$ domeniu.$ resursa;
// Imprimați adresa URL a paginii curente
aruncat '

Adresa URL completă a paginii curente este:

'
. $ url;
// Imprimați partea de șir de interogare
aruncat '

Șirul de interogare este:

'
. $ interogare;
?>

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de mai sus de pe server fără niciun șir de interogare. Nu este furnizat niciun șir de interogare în adresa URL. Deci, ieșirea arată șirul de interogare gol.

Următoarea ieșire va apărea după executarea scriptului de mai sus de pe server cu șirul de interogare. Următoarea ieșire arată adresa URL cu șirul de interogare și șirul de interogare separat.

Concluzie

Diferite moduri de recuperare a URL-ului complet al paginii curente sunt prezentate în acest tutorial folosind diverse exemple. Modul de a separa URL-ul și șirul de interogare este, de asemenea, prezentat în acest tutorial. Sperăm că acest tutorial îi va ajuta pe cititori să cunoască modul de citire a URL-ului complet al paginii curente folosind scriptul PHP.