获取完整的URL地址

时间:2012-07-01 13:30:48

标签: php url

我想在php脚本中获取完整的URL地址,请告诉我,此代码总是提供正确的URL? 或者在某些情况下,这段代码会给我们错误的网址?

 if (empty($_SERVER['HTTPS'])) {
 $s = "";
 }
 else {
 $s = "s";
 }
 $url =  "http".$s."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

2 个答案:

答案 0 :(得分:0)

我认为假设您使用标准端口80应该没问题,否则您可能也希望包含它。

$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

答案 1 :(得分:0)

您忘记了端口号。这是接收当前页面URL的完整功能代码。

function selfURL() {
  $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.$_SERVER['REQUEST_URI'];
}