Recuperar la URL completa en PHP

Recuperar la URL completa en 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. El protocolo (HTTP o HTTPS) de la URL también se requiere para obtener la URL completa de la página. Si $ _Server ['https'] devoluciones 'en', entonces HTTPS se utilizará con la dirección de URL, de lo contrario, Http se utilizará. Cómo se puede recuperar la dirección de URL completa de la página actual utilizando el $ _Server La matriz ha sido explicada en este tutorial.

Variables necesarias

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

Variables superglobales Propósitos
$ _Server ['https'] Vuelve en Si se usa 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 de 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 de URL de la página actual.

Ejemplo 1: Muestre la URL de la página actual utilizando una declaración condicional

El siguiente ejemplo muestra cómo se puede usar 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 utiliza para obtener el nombre del recurso solicitado. Está establecido() La función se usa para verificar si el $ _server ['https'] es un conjunto o no, y si se establece, verifique el valor de $ _server ['https'] es que es en O no. A continuación, los valores de estas tres variables se combinan con '//:' para recuperar la URL completa de la página actual.

// Lea el nombre de dominio de la página actual
$ domain = $ _server ['http_host'];
// Lea el recurso solicitado
$ Resource = $ _Server ['request_uri'];
// Descubre el protocolo de la URL actual
if (isset ($ _ servidor ['https']) && $ _server ['https'] === 'on')
$ protocol = "https";
demás
$ protocol = "http";
// Combine todas las partes para obtener la dirección de URL completa
$ url = $ protocolo.": //".$ dominio.$ recurso;
// Imprima la dirección de URL de la página actual
eco "

La dirección de URL de la corriente
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 en para el servidor local. Entonces la salida muestra el http Protocolo para la URL actual.

Ejemplo 2: Muestre la URL de la página actual usando el 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. Está establecido() la función se usa para verificar si el $ _server ['https'] es un conjunto o no, y si el valor de $ _server ['https'] es en, entonces el operador ternario devolverá https, de lo contrario devolverá http. Las otras partes de la URL se recuperan e imprimen como el ejemplo anterior.

// Descubre el protocolo de la URL actual
$ protocol = (isset ($ _ servidor ['https']) && $ _server ['https']]
== 'On' ? "https": "http");
// Lea el nombre de dominio de la página actual
$ domain = $ _server ['http_host'];
// Lea el recurso solicitado
$ Resource = $ _Server ['request_uri'];
// Combine todas las partes para obtener la dirección de URL completa
$ url = $ protocolo.": //".$ dominio.$ recurso;
// Imprima la dirección de URL de la página actual
eco "

La dirección de 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 en para el servidor local. Entonces, la salida muestra el protocolo HTTP para la URL actual.

Ejemplo 3: Muestre la URL de la página actual basada en el número de puerto

En los dos ejemplos anteriores, el valor de $ _Server ['https'] se usa para averiguar el protocolo de la URL actual de la página, y no se usa ninguna cadena de consulta con la URL. El siguiente ejemplo muestra cómo se puede usar la variable $ _server ['server_port'] para encontrar el protocolo y recuperar la dirección de URL completa con la cadena de consulta. Cree un archivo PHP con el siguiente script.

Aquí, se utiliza múltiples condiciones lógicas y operador ternario para averiguar el protocolo. Si el valor de $ _server ['https'] está vacío o configurado en apagado, Luego verificará el valor de $ _server ['server_port'] para averiguar el protocolo de la URL actual. $ _Server ['query_string'] La variable se utiliza para recuperar el valor de la cadena de consulta de la URL.

// Descubre el protocolo de la URL actual
$ protocolo = ((!vacía ($ _ servidor ['https']) && $ _server ['https']]
!= 'Off') || $ _Server ['server_port'] == 443) ? "https: //": "http: //";
// Lea el nombre de dominio de la página actual
$ domain = $ _server ['http_host'];
// Lea el recurso solicitado
$ Resource = $ _Server ['request_uri'];
// Lea el valor de la cadena de consulta
$ query = $ _Server ['QUERY_STRING'];
// Combine todas las partes para obtener la dirección de URL completa
$ url = $ protocolo.$ dominio.$ recurso;
// Imprima la dirección de URL de la página actual
eco "

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

". $ url;
// Imprima la parte de la cadena de consulta
eco "

La cadena de consulta es:

". $ consulta;
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior en el servidor sin ninguna cadena de consulta. No se proporciona ninguna 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. La siguiente salida muestra la dirección de 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.