basename没有给我完整的URL PHP

时间:2013-12-23 22:49:24

标签: php

现在我正在打印我当前的网址,它确实没问题:

$currentURL = basename($_SERVER['PHP_SELF']);

问题在于它只打印

solutions.php

而不是打印

solutions.php?id=581298a7-6c08-11e3-9bea-742f689f29f1

有人知道为什么会这样吗?我需要打印

的部分
?id=581298a7-6c08-11e3-9bea-742f689f29f1

因为那时我将执行一个子字符串来获取ID。

2 个答案:

答案 0 :(得分:4)

使用parse_url,它解析URL并将其各种组件返回到可用的数组中。您还需要确保正在解析正确的字符串;在这种情况下使用:

$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

完全使用:

$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
print_r(parse_url($url));

答案 1 :(得分:0)

这是预期的行为,因为之后?的所有内容都不是文件名的一部分。您要查找的参数位于$_GET超全球。