10

假设用户正在加载以下页面:www.example.com/myDirectory/myPage.php?answer=yes
我想使用 PHP 来获取myPage.php?answer=yes。但是,basename($_SERVER['PHP_SELF'])仅返回myPage.php. 我该怎么做?

4

4 回答 4

25

将查询字符串作为环境变量获取后,您可以附加它:

$myurl = basename($_SERVER['PHP_SELF']) . "?" . $_SERVER['QUERY_STRING'];

如果需要考虑没有查询字符串的可能性,添加条件测试:

$myurl = strlen($_SERVER['QUERY_STRING']) ? basename($_SERVER['PHP_SELF'])."?".$_SERVER['QUERY_STRING'] : basename($_SERVER['PHP_SELF']);
于 2013-05-13T18:28:30.537 回答
9

更容易吗?:

basename($_SERVER['REQUEST_URI'])
于 2013-08-30T15:01:34.747 回答
1

对于带有尾随参数的 URL,以下内容会将当前 URL 的第一部分(即 ? 之前的部分)放在变量 $current_url[0] 中,然后将其打印出来。

<?
$current_url = explode("?", $_SERVER['REQUEST_URI']);
echo $current_url[0] ;
?>
于 2014-06-02T10:23:51.870 回答
0
$_SERVER['QUERY_STRING']

会给你参数

于 2013-05-13T18:28:58.280 回答