How to Get Current Page URL using PHP ?

PHP

In this tutorial, we will see how to get the complete URL of currently running pages using PHP, along with understanding their implementation through the examples. $_SERVER is a super global variable in PHP that contains the details related to the header, paths, and script locations. The status of HTTPS will be saved in the Global variable $_SERVER[‘HTTPS’]. So, using the $_SERVER[‘HTTPS’] in isset() function, that is used to check whether it exists or not. This will also tell us whether HTTPS is enabled or not. Check the value of $_SERVER[‘HTTPS’], if it is “on”, then HTTPS is enabled and we have to append “https” to the URL.

Approach: There are a few steps to get the complete URL of the currently running page which are given below:

  • Create a PHP variable that will store the URL in string format.
  • Check whether the HTTPS is enabled by the server. If it is, append “https” to the URL string. If HTTPS is not enabled, append “http” to the URL string.
  • Append the regular symbol, i.e. “://” to the URL.
  • Append the HTTP_HOST(The host to which we have requested, e.g. www.google.com, www.yourdomain.com, etc…) name of the server.
  • Append the REQUEST_URI(The resource which we have requested, e.g. /index.php, etc…) to the URL string.

Note: Use isset() function to check whether HTTPS is enabled or not. The isset() function is used to check a variable exists or not.

Example 1: This example illustrates getting the url of the current page.

<?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; 
?>

 Output:

https://codegyan.in/


Example 2: Getting the url of the webpage using $_SERVER[‘HTTP_HOST’] that will return the host header from the current request.

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

Output:

https://codegyan.in/

The output of the above code is https://codegyan.in/ instead of https://codegyan.in/index.php. In order to fix this problem, need to replace, $_SERVER[‘REQUEST_URI’] with $_SERVER[‘PHP_SELF’].


Program 3: This example is displaying the currently executing PHP file URL.

<?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; 
?>

Output:

https://codegyan.in/index.php


Program 4: This example describes getting the complete url of the webpage.

<?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; 
?>

Output:

https://codegyan.in/index.php
PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and  PHP Examples.

       

Advertisements

ads