Getting the current full URL in PHP
24
Mar
2010
2010
Sometimes, you might want to get the current full URL in PHP. Here is how you do that.
Add the following code to a page:
function selfURL(){
if(!isset($_SERVER['REQUEST_URI'])){
$serverrequri = $_SERVER['PHP_SELF'];
}else{
$serverrequri = $_SERVER['REQUEST_URI'];
}
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$serverrequri;
}
function strleft($s1, $s2) {
return substr($s1, 0, strpos($s1, $s2));
}
You can now get the full URL using the line:
print(selfURL());
NOTE: This function works with Apache + IIS

