获取网址的参数

时间:2011-11-06 08:15:04

标签: php

我想尝试获取链接的参数,如下所示:分开

http://localhost/index/test:1

我如何通过php获得测试及其价值(1)?

提前致谢; )

3 个答案:

答案 0 :(得分:0)

与genesis一样,强烈建议您更改查询的样式。 ?param1=value1&param2=param2格式是行业和技术标准。

如果无法更改查询样式,则可以手动解析请求URI。 您可以通过$_SERVER['REQUEST_URI'];获取它并使用string functions进行一些解析,例如strpos

然而,这应该是最后的手段。

答案 1 :(得分:0)

如果您不想使用$_GET.htaccess,则其他人建议使用此功能。

<?php
$url = "http://localhost/index/test:1";
$pa = parse_url($url);
$arr = explode("/", $pa['path']);
array_shift($arr);  array_shift($arr);
$arr = explode(":", $arr[0]);
print_r($arr);
?>

输出//

Array
(
    [0] => test
    [1] => 1
)

元素现在存储在一个数组中。

答案 2 :(得分:-1)

如果按: - 分隔参数表示port号码,则可以使用parse_url

parse_url("http://localhost:1000/index/test", PHP_URL_PORT);

虽然端口号应该在主机地址之后 如果你想将一些参数传递给url,你应该使用& - 分隔语句(就像其他人说的那样):

?param1=value1&param2=param2

如果您坚持导航到这个不寻常的网址并希望获取1,则可以使用$_SERVER['REQUEST_URI']获取整个网址。