Get the full URL in PHP

PHP program to get complete URL of currently running pages.
There are few steps to get the complete URL of the currently running page which are given below:

  • Create a PHP variable which 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 enable or not. The isset() function is used to check a variable exists or not.

The status of HTTPS is saved in the Global variable $_SERVER[‘HTTPS’]. So, use $_SERVER[‘HTTPS’] in isset() function is used to check whether it exists or not. This will 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.



Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

https://ide.geeksforgeeks.org/

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

https://ide.geeksforgeeks.org/

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

Program 3: Displaying the currently executing PHP file URL

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

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

Program 4:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

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


My Personal Notes arrow_drop_up

Fullstack developer and a security researcher experienced in Web Development Android and Windows application development Open Source Project Management Data Analytics and system development and a PASSIONATE TEACHER

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


2


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.