Obtener la URL actual completa en PHP

Krissnaawat Kaewsanmuang 16 febrero 2024
PHP
  1. Usar http_build_url() para obtener la Url actual en PHP
  2. Usar $_SERVER[] para obtener la Url actual en PHP
  3. Utilice $_SERVER['HTTPS'] para obtener la Url actual en PHP
  4. Obtener la URL actual incluyendo los parámetros en PHP
  5. Conclusión
Obtener la URL actual completa en PHP

El tutorial introduce cómo obtener la URL completa actual en el lenguaje de programación PHP. Puede haber muchos casos de uso para obtener la URL completa de PHP. Tenemos que renderizar el contenido de la página web basado en los parámetros de la consulta. Podemos necesitar redirigir o refrescar la página en su totalidad. Por lo tanto, una URL completa puede ser de valor esencial cuando se trata de programación web.

Aquí, vamos a discutir diferentes maneras de obtener la URL completa en la programación PHP.

Generalmente, hay algunos pasos que debemos conocer para obtener la URL completa de la página que se está ejecutando actualmente, los cuales se dan a continuación:

  • Necesitamos crear una variable PHP que almacene la URL en formato de cadena.
  • Necesitamos comprobar si los servidores tienen HTTPS habilitado. Si lo está, entonces necesitamos añadir HTTPS a la cadena de URL. Si HTTPS no está habilitado, tenemos que añadir HTTP a la cadena de URL.
  • También tenemos que añadir el símbolo :// a la URL.
  • Tenemos que añadir el nombre HTTP_HOST del servidor. El nombre HTTP_HOST es el host que hemos solicitado, por ejemplo www.google.com, www.exampledomain.com, etc.
  • Tenemos que añadir el REQUEST_URI a la cadena URL. REQUEST_URI es el recurso que hemos solicitado, por ejemplo /index.php, etc.

Ahora, discutiremos algunos de los métodos más eficientes para obtener la URL completa actual en el ecosistema de programación PHP:

Usar http_build_url() para obtener la Url actual en PHP

Esta solución es bastante simple. Podemos usar la función incorporada en PHP llamada http_build_url(). Este método funciona tanto para HTTP como para HTTP.

$link =  http_build_url();

Esta función se utiliza para construir una URL. Acepta todos juntos cuatro parámetros:

  • url: Este parámetro representa la URL en forma de cadena o matriz asociativa. Devuelve un valor similar a parse_url().
  • parts: Este parámetro es el mismo que el primer argumento.
  • flags: Es una máscara de bits de constantes binarias HTTP_URL.
  • new_url: Si se establece este parámetro, se rellenará con las partes de la URL compuesta como devuelve parse_url().

En general, este método devuelve la nueva URL como una cadena en caso de éxito o False en caso de fallo.

Usar $_SERVER[] para obtener la Url actual en PHP

Otra forma es usando la variable global llamada $_SERVER[]. El $_SERVER es una variable incorporada de PHP que se utiliza para obtener la URL de la página actual. También es una variable superglobal. Por lo tanto, siempre está disponible en todos los ámbitos.

Simplemente pasamos el parámetro REQUEST_URI a la variable como se muestra en el siguiente ejemplo:

Ejemplo:

$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  • $_SERVER[HTTP_HOST] representa el nombre del host o del dominio como https://www.delftstack.com/
  • $_SERVER[REQUEST_URI] represent URI like /dashboard/phpinfo.php

Utilice $_SERVER['HTTPS'] para obtener la Url actual en PHP

Aquí hay otro formato explícito de código duro para obtener la URL actual en PHP.

La variable global $_SERVER['HTTPS'] representa el estado del HTTPS. Por lo tanto, podemos usarla dentro de la función isset() para comprobar si el HTTPS existe o no. Esto nos ayudará a saber si el HTTPS está habilitado en una URL o no. Mientras tanto, comprobando el valor de $_SERVER['HTTPS'], podemos decidir si añadir o no https a la URL.

Ambos ejemplos muestran la detección de HTTPS. El ejemplo de abajo es el formato largo:

$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

O puede usar el formato corto como se muestra en el ejemplo de abajo:

$link = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

Obtener la URL actual incluyendo los parámetros en PHP

Para obtener la URL global incluyendo la ruta, los parámetros y las cadenas de consulta, podemos usar http_build_url() como se muestra en el ejemplo de abajo:

$all_in_address_bar = http_build_url();

Conclusión

Este tutorial demostró algunas de las formas más eficientes de obtener la URL actual en la programación PHP. Los ejemplos seguramente le ayudarán a entender el formato, el mecanismo y las sintaxis utilizadas. La técnica más usada para obtener la URL actual es usando la variable global $_SERVER. Usando esto, tienes control total sobre el formato de la sintaxis. Sin embargo, la técnica es un poco compleja comparada con las otras. Ahora, depende de usted decidir qué método para obtener la URL actual es el más adecuado basado en su escenario de programación PHP. Puede haber diferentes casos de uso y eficiencia en el uso de uno en particular. La mejor opción podría ser probar cada uno de ellos e ir con el más flexible y eficiente para su escenario de programación.