Obtenga la URL completa en PHP

En este artículo, veremos cómo obtener la URL completa de las páginas que se ejecutan actualmente usando PHP, además de comprender su implementación a través de los ejemplos. $_SERVER es una variable súper global en PHP que contiene los detalles relacionados con el encabezado, las rutas y las ubicaciones de los scripts. El estado de HTTPS se guardará en la variable global $_SERVER[‘HTTPS’]. Entonces, usando $_SERVER[‘HTTPS’] en la función isset(), se usa para verificar si existe o no. Esto también nos dirá si HTTPS está habilitado o no. Verifique el valor de $_SERVER[‘HTTPS’], si está «activado», entonces HTTPS está habilitado y tenemos que agregar «https» a la URL.

Enfoque: hay algunos pasos para obtener la URL completa de la página que se está ejecutando actualmente, que se detallan a continuación:

  • Cree una variable de PHP que almacenará la URL en formato de string.
  • Compruebe si HTTPS está habilitado por el servidor. Si es así, agregue «https» a la string de URL. Si HTTPS no está habilitado, agregue «http» a la string de URL.
  • Agregue el símbolo normal, es decir, «://» a la URL.
  • Agregue el nombre HTTP_HOST (El host al que hemos solicitado, por ejemplo, www.google.com, www.yourdomain.com, etc…) del servidor.
  • Agregue SOLICITUD_URI (El recurso que hemos solicitado, por ejemplo, /index.php, etc.) a la string de URL.

Nota: Use la función isset() para verificar si HTTPS está habilitado o no. La función isset() se usa para verificar si una variable existe o no.
Ejemplo 1: Este ejemplo ilustra cómo obtener la URL de la página actual.

PHP

<?php
    // Program to display URL of current page.
    if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')
        $link = "https";
    else $link = "http";
      
    // Here append the common URL characters.
    $link .= "://";
      
    // Append the host(domain name, ip) to the URL.
    $link .= $_SERVER['HTTP_HOST'];
      
    // Append the requested resource location to the URL
    $link .= $_SERVER['REQUEST_URI'];
      
    // Print the link
    echo $link;
?>

Producción:

https://ide.geeksforgeeks.org/

Ejemplo 2: Obtener la URL de la página web usando $_SERVER[‘HTTP_HOST’] que devolverá el encabezado de host de la solicitud actual.

PHP

<?php
    // Program to display current page URL.
    $link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] 
                === 'on' ? "https" : "http") . 
                "://" . $_SERVER['HTTP_HOST'] . 
                $_SERVER['REQUEST_URI'];
    echo $link;
?>

Producción:

https://ide.geeksforgeeks.org/

El resultado del código anterior es https://ide.geeksforgeeks.org/ en lugar de https://ide.geeksforgeeks.org/index.php. Para solucionar este problema, debe reemplazar $_SERVER[‘REQUEST_URI’] con $_SERVER[‘PHP_SELF’].

Programa 3: este ejemplo muestra la URL del archivo PHP que se está ejecutando actualmente.

PHP

<?php
  
  // Program to display complete URL
  if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') 
      $link = "https";
  else $link = "http";
  
  // Here append the common URL
  // characters.
  $link .= "://";
  
  // Append the host(domain name,
  // ip) to the URL.
  $link .= $_SERVER['HTTP_HOST'];
  
  // Append the requested resource
  // location to the URL
  $link .= $_SERVER['PHP_SELF'];
  
  // Display the link
  echo $link;
?>

Producción:

https://ide.geeksforgeeks.org/index.php

Programa 4: este ejemplo describe cómo obtener la URL completa de la página web.

PHP

<?php
    
  // Program to display complete URL
  $link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']
              === 'on' ? "https" : "http") . "://" . 
              $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
  
  // Display the complete URL
  echo $link;
?>

Producción:

https://ide.geeksforgeeks.org/index.php

PHP es un lenguaje de secuencias de comandos del lado del servidor diseñado específicamente para el desarrollo web. Puede aprender PHP desde cero siguiendo este tutorial de PHP y ejemplos de PHP .

Publicación traducida automáticamente

Artículo escrito por SkillzWorld y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *