Recuperar la URL completa en PHP

Retrieve Full Url Php



Se pueden usar dos tipos de variables globales en PHP: la variable superglobal y la variable definida por el usuario. $ _SERVER es una variable de matriz superglobal que se utiliza para recuperar la ruta completa de la página actual. También se requiere el protocolo (HTTP o HTTPS) de la URL para obtener la URL completa de la página. Si $ _SERVER ['HTTPS'] devoluciones 'sobre', luego se usará HTTPS con la dirección URL; de lo contrario, HTTP se utilizará. Cómo se puede recuperar la dirección URL completa de la página actual utilizando el $ _SERVER array se ha explicado en este tutorial.

Variables necesarias

Se requieren las siguientes variables superglobales para encontrar la dirección URL de la página actual.







Variables superglobales Propósitos
$ _SERVER ['HTTPS'] Vuelve sobre si se utiliza el protocolo HTTPS en la URL de la página actual.
$ _SERVER [‘HTTP_HOST’] Devuelve el nombre del servidor de la página actual.
$ _SERVER ['REQUEST_URI'] Devuelve el nombre del recurso solicitado.
$ _SERVER [‘SERVER_PORT’] Devuelve el número de puerto del servidor.
$ _SERVER [‘QUERY_STRING’] Devuelve el valor de la cadena de consulta si existe en la dirección URL de la página actual.

Ejemplo 1: mostrar la URL de la página actual mediante una declaración condicional

El siguiente ejemplo muestra cómo se puede utilizar la declaración condicional para obtener el protocolo utilizado en la URL de la página actual. Cree un archivo PHP con el siguiente script.



El valor de $ _SERVER [‘HTTP_HOST’] se usa para obtener el nombre de dominio de la URL actual. El valor de $ _SERVER [‘REQUEST_URI’] se usa para obtener el nombre del recurso solicitado. desaparecido) La función se usa para verificar si $ _SERVER [‘HTTPS’] es un conjunto o no, y si está configurado, entonces verifique el valor de $ _SERVER [‘HTTPS’] si es sobre o no. A continuación, los valores de estas tres variables se combinan con '//:' para recuperar la URL completa de la página actual.




// Leer el nombre de dominio de la página actual
$ dominio = $ _SERVER['HTTP_HOST'];
// Leer el recurso solicitado
$ recurso = $ _SERVER['REQUEST_URI'];
// Conoce el protocolo de la url actual
si( desaparecido ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'sobre')
$ protocolo = 'https';
demás
$ protocolo = 'http';

// Combina todas las partes para obtener la dirección URL completa
$ url = $ protocolo.'://'.$ dominio.$ recurso;
// Imprime la dirección URL de la página actual
echo '

La dirección URL del actual
la página es:

'
. $ url;?>

Producción:





La siguiente salida aparecerá después de ejecutar el script desde el servidor. El valor de $ _SERVER ['HTTPS'] no es sobre para el servidor local. Entonces la salida muestra el http protocolo para la URL actual.



Ejemplo 2: mostrar la URL de la página actual utilizando un operador ternario

El siguiente ejemplo muestra la forma de obtener la URL completa de la página actual utilizando el operador ternario. Cree un archivo PHP con el siguiente script.

Si la condición se usa en el ejemplo anterior para averiguar qué protocolo se usa en la URL de la página actual. La misma tarea se realiza utilizando el operador ternario en este script. desaparecido) La función se usa para verificar si $ _SERVER [‘HTTPS’] es un conjunto o no, y si el valor de $ _SERVER [‘HTTPS’] es sobre, entonces el operador ternario devolverá HTTPS; de lo contrario, devolverá HTTP. Las otras partes de la URL se recuperan e imprimen como en el ejemplo anterior.


// Conoce el protocolo de la url actual
$ protocolo = ( desaparecido ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'sobre'?'https' : 'http');
// Leer el nombre de dominio de la página actual
$ dominio = $ _SERVER['HTTP_HOST'];
// Leer el recurso solicitado
$ recurso = $ _SERVER['REQUEST_URI'];
// Combina todas las partes para obtener la dirección URL completa
$ url = $ protocolo.'://'.$ dominio.$ recurso;
// Imprime la dirección URL de la página actual
echo '

La dirección URL de la página actual es:

'
. $ url;
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor. El valor de $ _SERVER ['HTTPS'] no es sobre para el servidor local. Entonces, la salida muestra el protocolo HTTP para la URL actual.

Ejemplo 3: mostrar la URL de la página actual según el número de puerto

En los dos ejemplos anteriores, el valor de $ _SERVER ['HTTPS'] se utiliza para averiguar el protocolo de la URL actual de la página y no se utiliza ninguna cadena de consulta con la URL. El siguiente ejemplo muestra cómo se puede utilizar la variable $ _SERVER [‘SERVER_PORT’] para averiguar el protocolo y recuperar la dirección URL completa con la cadena de consulta. Cree un archivo PHP con el siguiente script.

Aquí, se utilizan múltiples condiciones lógicas y un operador ternario para averiguar el protocolo. Si el valor de $ _SERVER ['HTTPS'] está vacío o establecido en apagado, luego verificará el valor de $ _SERVER [‘SERVER_PORT’] para averiguar el protocolo de la URL actual. La variable $ _SERVER [‘QUERY_STRING’] se usa para recuperar el valor de la cadena de consulta de la URL.


// Conoce el protocolo de la url actual
$ protocolo = ((! vacío ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
!= 'apagado') || $ _SERVER['PUERTO DE SERVICIO'] == 443)?'https://' : 'http://';
// Leer el nombre de dominio de la página actual
$ dominio = $ _SERVER['HTTP_HOST'];
// Leer el recurso solicitado
$ recurso = $ _SERVER['REQUEST_URI'];
// Leer el valor de la cadena de consulta
$ consulta = $ _SERVER['QUERY_STRING'];
// Combina todas las partes para obtener la dirección URL completa
$ url = $ protocolo.$ dominio.$ recurso;
// Imprime la dirección URL de la página actual
echo '

La dirección URL completa de la página actual es:

'
. $ url;
// Imprime la parte de la cadena de consulta
echo '

La cadena de consulta es:

'
. $ consulta;
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior desde el servidor sin ninguna cadena de consulta. No se proporciona una cadena de consulta en la URL. Entonces, la salida muestra la cadena de consulta vacía.

La siguiente salida aparecerá después de ejecutar el script anterior desde el servidor con la cadena de consulta. El siguiente resultado muestra la dirección URL con la cadena de consulta y la cadena de consulta por separado.

Conclusión

En este tutorial se muestran diferentes formas de recuperar la URL completa de la página actual utilizando varios ejemplos. La forma de separar la URL y la cadena de consulta también se muestra en este tutorial. Con suerte, este tutorial ayudará a los lectores a conocer la forma de leer la URL completa de la página actual utilizando el script PHP.