我想在 php 脚本中获取完整的 URL 地址,请告诉我,这段代码总是给出正确的 URL?或者在某些情况下,这段代码给了我们错误的 URL?
if (empty($_SERVER['HTTPS'])) {
$s = "";
}
else {
$s = "s";
}
$url = "http".$s."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
我认为假设您使用标准端口 80 应该没问题,否则您可能也想包含它。
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
你忘记了端口号。这是接收当前页面 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'];
}