有没有更好的方法来重新创建$ _SERVER ['QUERY_STRING']

时间:2009-11-19 11:21:33

标签: global-variables

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

$_SERVER['QUERY_STRING'];

似乎可以充分执行此任务,但我听到许多人警告不要使用$ _SERVER变量,因为它们有时不一致。所以我想知道是否有关于创建一个包含所有内容的字符串的最佳实践指南?一个URL。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

虽然,如果您的查询是“a [] = 1”,那么它将生成“a [0] = 1”。大多数时候都没关系。

答案 2 :(得分:0)

某些$_SERVER(环境)变量不一致或与服务器有关。 QUERY_STRING不是,它是构建PHP的CGI标准的基本且受到良好支持的部分。它很稳固。