PHP Determining the current url
I need to modify my function to return also the current folder I am in. Here is my current function:
function getLinkFromHost($url){
$port = $_SERVER['REMOTE_PORT'];
$server = $_SERVER['HTTP_HOST'];
开发者_Go百科 if($port == 443){
$type = "https";
} else {
$type = "http";
}
return $type . "://" . $server . "/" . $url;
}
Take a look at $_SERVER['REQUEST_URI']
or $_SERVER['SCRIPT_NAME']
(From the $_SERVER
manual entry)
Here a short sweet function I've been using to do this for awhile now.
function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $pageURL; }
I can't take the credit, it belongs to:
http://www.webcheatsheet.com/PHP/get_current_page_url.php
Probably you also want to include get vars into your url, so you should add something to highphilosopher function...
$current_url = rtrim(curPageURL(), "/").(!empty($_GET)) ? "?".http_build_query($_GET) : "";
..........
echo $_SERVER['PHP_SELF']; // return current file
echo __FILE__; // return current file
echo $_SERVER['SCRIPT_NAME']; // return current file
echo dirname(__FILE__); // return current script's folder
// etc
Here's a method that might help:
function current_url()
{
$result = "http";
if($_SERVER["HTTPS"] == "on") $result .= "s";
$result .= "://".$_SERVER["SERVER_NAME"];
if($_SERVER["SERVER_PORT"] != "80") $result .= ":".$_SERVER["SERVER_PORT"];
$result .= $_SERVER["REQUEST_URI"];
return $result;
}
精彩评论