【问题标题】:How do I capture the whole URL using PHP? [duplicate]如何使用 PHP 捕获整个 URL? [复制]
【发布时间】:2012-03-10 10:47:38
【问题描述】:

可能重复:
PHP Get the Full URL
How do I capture the whole URL using PHP?

我想要整个 URL,包括 _GET 变量名称和值,例如 www.mywebsite.com/store.php?department=MENS

我在下面使用的代码只给了我没有 _GET 变量部分的 URL。

$url = $_SERVER['SERVER_NAME']; 
$page = $_SERVER['PHP_SELF'];
$page = $_POST['url'];
echo "http://".$url.$page; 

我希望能够准确地复制该 URL。

【问题讨论】:

标签: php html url


【解决方案1】:
function currenturl() {
$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=currenturl();就是这样

【讨论】:

  • 点赞。港口也不错。顺便说一句,内联 if 语句可以帮助使这个更清洁 - 例如 $pageurl = ($_SERVER["HTTPS"] == "on") ? 'https' : 'http';
  • 是的,这样看起来更好。我实际上在任何人为的地方都使用内联 ifs,因为我有很多代码。但我编辑了一点只是为了更容易阅读
【解决方案2】:
$url = (!empty($_SERVER['HTTPS']))
    ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] 
    : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

【讨论】:

    猜你喜欢
    • 2012-03-10
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2011-11-19
    • 2020-12-06
    • 2019-02-10
    • 2016-11-17
    相关资源
    最近更新 更多