Recupereu l'URL complet en PHP

Retrieve Full Url Php



Es poden utilitzar dos tipus de variables globals en PHP: la variable superglobal i la variable definida per l'usuari. $ _SERVEI és una variable de matriu superglobal que s'utilitza per recuperar el camí complet de la pàgina actual. El protocol (HTTP o HTTPS) de l'URL també és necessari per obtenir l'URL complet de la pàgina. Si $ _SERVER ['HTTPS'] torna 'Encès', llavors s'utilitzarà HTTPS amb l'adreça URL, en cas contrari, HTTP serà utilitzat. Com es pot recuperar l'adreça URL completa de la pàgina actual mitjançant el fitxer $ _SERVEI la matriu s'ha explicat en aquest tutorial.

Variables necessàries

Les variables superglobals següents són necessàries per esbrinar l'adreça URL de la pàgina actual.







Variables superglobals Propòsits
$ _SERVER ['HTTPS'] Torna encès si s'utilitza el protocol HTTPS a l'URL de la pàgina actual.
$ _SERVER ['HTTP_HOST'] Torna el nom del servidor de la pàgina actual.
$ _SERVER ['REQUEST_URI'] Retorna el nom del recurs sol·licitat.
$ _SERVER ['SERVER_PORT'] Retorna el número de port del servidor.
$ _SERVER ['QUERY_STRING'] Retorna el valor de la cadena de consulta si existeix a l'adreça URL de la pàgina actual.

Exemple 1: mostra l'URL de la pàgina actual mitjançant una sentència condicional

L'exemple següent mostra com es pot utilitzar la sentència condicional per obtenir el protocol utilitzat a l'URL de la pàgina actual. Creeu un fitxer PHP amb el següent script.



El valor de $ _SERVER ['HTTP_HOST'] s'utilitza per obtenir el nom de domini de l'URL actual. El valor de $ _SERVER [‘REQUEST_URI’] s’utilitza per obtenir el nom del recurs sol·licitat. desaparegut) s’utilitza per comprovar si $ _SERVER [‘HTTPS’] és un conjunt o no i, si està definit, comproveu el valor de $ _SERVER [‘HTTPS’] si és encès o no. A continuació, els valors d’aquestes tres variables es combinen amb ‘//:’ per recuperar l’URL complet de la pàgina actual.




// Llegiu el nom de domini de la pàgina actual
$ domini = $ _SERVEI['HTTP_HOST'];
// Llegiu el recurs sol·licitat
$ recurs = $ _SERVEI['REQUEST_URI'];
// Esbrineu el protocol de l'URL actual
si( desaparegut ($ _SERVEI['HTTPS']) && $ _SERVEI['HTTPS'] === 'encès')
$ protocol = 'Https';
en cas contrari
$ protocol = 'Http';

// Combineu totes les parts per obtenir l'adreça URL completa
$ url = $ protocol.': //'.$ domini.$ recurs;
// Imprimiu l'adreça URL de la pàgina actual
trobo '

L'adreça URL de l'actual
pàgina és:

'
. $ url;?>

Sortida:





La següent sortida apareixerà després d'executar l'script des del servidor. El valor de $ _SERVER ['HTTPS'] no ho és encès per al servidor local. Així doncs, la sortida mostra el fitxer http protocol per a l'URL actual.



Exemple 2: mostra l'URL de la pàgina actual mitjançant l'operador ternari

L'exemple següent mostra la manera d'obtenir l'URL complet de la pàgina actual mitjançant l'operador ternari. Creeu un fitxer PHP amb el següent script.

Si la condició s'utilitza a l'exemple anterior per esbrinar quin protocol s'utilitza a l'URL de la pàgina actual. La mateixa tasca es fa utilitzant l'operador ternari en aquest script. desaparegut) s’utilitza per comprovar si $ _SERVER [‘HTTPS’] és un conjunt o no, i si el valor de $ _SERVER [‘HTTPS’] és endavant, llavors l'operador ternari retornarà HTTPS, en cas contrari retornarà HTTP. Les altres parts de l'URL es recuperen i s'imprimeixen com l'exemple anterior.


// Esbrineu el protocol de l'URL actual
$ protocol = ( desaparegut ($ _SERVEI['HTTPS']) && $ _SERVEI['HTTPS']
== 'encès'?'Https' : 'Http');
// Llegiu el nom de domini de la pàgina actual
$ domini = $ _SERVEI['HTTP_HOST'];
// Llegiu el recurs sol·licitat
$ recurs = $ _SERVEI['REQUEST_URI'];
// Combineu totes les parts per obtenir l'adreça URL completa
$ url = $ protocol.': //'.$ domini.$ recurs;
// Imprimiu l'adreça URL de la pàgina actual
trobo '

L'adreça URL de la pàgina actual és:

'
. $ url;
?>

Sortida:

La següent sortida apareixerà després d'executar l'script des del servidor. El valor de $ _SERVER ['HTTPS'] no ho és encès per al servidor local. Per tant, la sortida mostra el protocol HTTP de l’URL actual.

Exemple 3: mostra l'URL de la pàgina actual segons el número de port

Als dos exemples anteriors, s’utilitza el valor de $ _SERVER [‘HTTPS’] per esbrinar el protocol de l’URL actual de la pàgina i no s’utilitza cap cadena de consulta amb l’URL. L'exemple següent mostra com es pot utilitzar la variable $ _SERVER ['SERVER_PORT'] per esbrinar el protocol i recuperar l'adreça URL completa amb la cadena de consulta. Creeu un fitxer PHP amb el següent script.

Aquí s’utilitzen múltiples condicions lògiques i operador ternari per esbrinar el protocol. Si el valor de $ _SERVER ['HTTPS'] està buit o està definit a apagat, llavors comprovarà el valor de $ _SERVER [‘SERVER_PORT’] per esbrinar el protocol de l’URL actual. La variable $ _SERVER ['QUERY_STRING'] s'utilitza per recuperar el valor de la cadena de consulta de l'URL.


// Esbrineu el protocol de l'URL actual
$ protocol = ((! buit ($ _SERVEI['HTTPS']) && $ _SERVEI['HTTPS']
! = 'apagat') || $ _SERVEI['SERVER_PORT'] == 443)?'Https: //' : 'Http: //';
// Llegiu el nom de domini de la pàgina actual
$ domini = $ _SERVEI['HTTP_HOST'];
// Llegiu el recurs sol·licitat
$ recurs = $ _SERVEI['REQUEST_URI'];
// Llegiu el valor de la cadena de consulta
$ consulta = $ _SERVEI['QUERY_STRING'];
// Combineu totes les parts per obtenir l'adreça URL completa
$ url = $ protocol.$ domini.$ recurs;
// Imprimiu l'adreça URL de la pàgina actual
trobo '

L'adreça URL completa de la pàgina actual és:

'
. $ url;
// Imprimiu la part de la cadena de consulta
trobo '

La cadena de consulta és:

'
. $ consulta;
?>

Sortida:

La següent sortida apareixerà després d'executar l'script anterior des del servidor sense cap cadena de consulta. No es proporciona cap cadena de consulta a l'URL. Per tant, la sortida mostra la cadena de consulta buida.

La sortida següent apareixerà després d'executar l'script anterior des del servidor amb la cadena de consulta. La sortida següent mostra l'adreça URL amb la cadena de consulta i la cadena de consulta per separat.

Conclusió

En aquest tutorial es mostren diferents maneres de recuperar l’URL complet de la pàgina actual mitjançant diversos exemples. La manera de separar l'URL i la cadena de consulta també es mostra en aquest tutorial. Amb sort, aquest tutorial ajudarà els lectors a conèixer la manera de llegir l’URL complet de la pàgina actual mitjançant l’escriptura PHP.