In this tutorial, we would love to share with you, How to get current page URL in PHP, PHP get current URL path, PHP get full URL with parameters, PHP get a current page, PHP get current URL with query string, PHP get a domain from URL.
How to Get Current Page URL in PHP
Here we will discuss about superglobal variable $_SERVER
that is a built-in PHP variable, We will use this variable to get the current page URL in PHP.
Before we try to fetch the Current Page Full URL lets see how a normal URL structure looks like:
http://www.abc.com/dir1/test.php?glob=hello&name=world
Any typical URL like this can be broken into several common parts like:
- HTTP: The URL protocol
- www.abc.com – The domain name or the hostname.
- dir1: The directory within the root
- test.php – The actual PHP script
- glob=hello – the first URL parameter (glob) and it’s a value (hello)
- name=world – the second URL parameter (name) and its value (world)
In PHP, the $_SERVER superglobal variable allows easy methods to retrieve all this information about the current URI. The code is as follows:
PHP code | Output | Remark |
echo $_SERVER[‘SERVER_PROTOCOL’]; | HTTP/1.1 | the url protocol |
echo $_SERVER[‘HTTP_HOST’]; | www.abc.com | the domain name |
echo $_SERVER[‘SCRIPT_NAME’]; | test.php | the actual PHP script |
echo $_SERVER[‘QUERY_STRING’]; | glob=hello&name=world | all the URL parameters |
Now we will create a program that is used to get current page url.
PHP Program for get Current Page Url
<?php // PHP Program to show current page 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['REQUEST_URI']; // Print the link echo $link; ?>
Program 1 full source Code
<!DOCTYPE html> <html lang="en"> <head> <title>PHP Program to show current page URL </title> </head> <body> <h4>PHP Program to show current page URL </h4> <?php // PHP Program to show current page 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['REQUEST_URI']; // Print the link echo $link; ?> </body> </html>
PHP Program show Current page full URL
<?php // PHP Program show Current page full URL if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') $uLink = "https"; else $uLink = "http"; // Here append the common URL // characters. $uLink .= "://"; // Append the host(domain name, // ip) to the URL. $uLink .= $_SERVER['HTTP_HOST']; // Append the requested resource // location to the URL $uLink .= $_SERVER['PHP_SELF']; // Display the uLink echo $uLink; ?>
Program 2 full source Code
<!DOCTYPE html> <html lang="en"> <head> <title>PHP Program show Current page full URL </title> </head> <body> <h4>PHP Program show Current page full URL </h4> <?php // PHP Program show Current page full URL if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') $uLink = "https"; else $uLink = "http"; // Here append the common URL // characters. $uLink .= "://"; // Append the host(domain name, // ip) to the URL. $uLink .= $_SERVER['HTTP_HOST']; // Append the requested resource // location to the URL $uLink .= $_SERVER['PHP_SELF']; // Display the uLink echo $uLink; ?> </body> </html>
PHP Program show Current full URL with Query String
<?php $uri = $_SERVER['REQUEST_URI']; echo $uri; // Outputs: URI $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url; // Outputs: Full URL $query = $_SERVER['QUERY_STRING']; echo $query; // Outputs: Query String ?>
Program 3 full source Code
<!DOCTYPE html> <html lang="en"> <head> <title>PHP Program show Current page full URL with Query String </title> </head> <body> <h4>PHP Program show Current page full URL with Query String </h4> <?php $uri = $_SERVER['REQUEST_URI']; echo $uri; // Outputs: URI $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url; // Outputs: Full URL $query = $_SERVER['QUERY_STRING']; echo $query; // Outputs: Query String ?> </body> </html>
Other Important elements of $_SERVER that are very are useful and you must know that:
- $_SERVER[‘SERVER_ADDR’]: IP address of the server
- $_SERVER[‘REQUEST_METHOD’]: Returns the page access method used i.e. ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’.
- $_SERVER[‘REQUEST_TIME’]: timestamp of the start of the request.
- $_SERVER[‘HTTP_REFERER’]: returns the referrer page uri – used in redirecting to last page after login
- $_SERVER[‘SCRIPT_FILENAME’]: returns the path including the filename, like DIR
- $_SERVER[‘HTTP_COOKIE’]. returns the raw value of the ‘Cookie’ header sent by the user agent.
- $_SERVER[‘HTTP_ACCEPT_LANGUAGE’]): returns the default set language – useful for websites with multilingual content & readers
- $_SERVER[‘HTTP_USER_AGENT’]: returns the kind of device being used to access (desktop/mobile device etc) – suitable for switching interface for different devices.