Мне нужно изменить мою функцию, чтобы вернуть также текущую папку, в которой я есть. Вот моя текущая функция:
function getLinkFromHost($url){ $port = $_SERVER['REMOTE_PORT']; $server = $_SERVER['HTTP_HOST']; if($port == 443){ $type = "https"; } else { $type = "http"; } return $type . "://" . $server . "/" . $url; }
Взгляните на $_SERVER['REQUEST_URI']
или $_SERVER['SCRIPT_NAME']
(Из ручного ввода $_SERVER
)
Здесь короткая сладкая функция, которую я использовал, чтобы сделать это некоторое время.
функция 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; }
Я не могу взять кредит, он принадлежит:
Возможно, вы также захотите включить в свой URL-адрес vars, поэтому вы должны добавить что-то к функции highphilosopher …
$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
Вот способ, который может помочь:
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; }