2009-11-19 124 views
0

我希望能够使用PHP返回所有传递到特定页面的参数。

$_SERVER['QUERY_STRING']; 

似乎充分执行该任务,但是我听到很多警告不要使用$ _ SERVER变量,因为它们有时不一致的性质。所以我想知道是否有任何最佳实践指南创建一个字符串组成的一切后?的URL。

回答

0

某些$_SERVER(环境)变量不一致或取决于服务器。 QUERY_STRING不是,它是构建PHP的CGI标准的基础和支持良好的部分。它很稳固。

1

我不知道任何通用的方式来访问QUERY_STRING除了。

我对此的解决方案是将所有需要的$ _SERVER/$ _ ENV变量转换为保存在配置目录中的单独文件中的普通变量。这样,它们很容易在需要时进行更改。

无论如何,“不一致的性质”是指它们可能在不同的服务器设置上有所不同,但不在相同的环境中。

1

您可以尝试http_build_query($_GET) :)

尽管如此,如果您的查询是 “[] = 1”,那么就会产生 “一个[0] = 1”。大多数时候没关系。

+0

啊,PHP5的乐趣。不知道这一个。 +1 – 2009-11-19 11:44:33

相关问题