如何从网址获取所有查询字符串? PHP

时间:2016-07-03 09:40:37

标签: php mysql function variables

我正在尝试使用此网址的所有查询字符串获取完整网址

http://localhost/test/searchprocess.php?categ=vessel&keyword=ves&search-btn=Search&page=5

我尝试使用此功能,但它没有给我所有的查询字符串。它只保存第一个查询字符串。

function getCurrentURL() {
        $currentURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
        $currentURL .= $_SERVER["SERVER_NAME"];
        if($_SERVER["SERVER_PORT"] != "80" && $_SERVER["SERVER_PORT"] != "443") {
            $currentURL .= ":".$_SERVER["SERVER_PORT"];
        } 
        $currentURL .= $_SERVER["REQUEST_URI"];
        return $currentURL;
    }

当我echo getcurrentURL();时,它只会给我http://localhost/test/searchprocess.php?categ=vessel

我怎样才能获得完整的网址?

2 个答案:

答案 0 :(得分:0)

我认为您的代码几乎是正确的。试试这个:

$base_url = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on' ? 'https' : 'http' ) . '://' .  $_SERVER['HTTP_HOST'];
$url = $base_url . $_SERVER["REQUEST_URI"];

答案 1 :(得分:0)

你想要parse_url() function

http://php.net/manual/en/function.parse-url.php

$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
var_dump(parse_url($url, PHP_URL_QUERY));

返回

string(9) "arg=value"