PHP - GET url编码@,\和&标志

时间:2016-08-08 06:48:08

标签: php get decode encode

这个PHP代码:

$test = '@&\\';
echo rawurlencode($test);

结果如下:

http://example.com/test=%40%26%5C

在网址中的$ _GET请求中,会出现类似这样的内容:

test=@&\

以上不是允许的$ _GET变量。

我如何仍然使用带有这些值的$ _GET变量,对它们进行编码并将其解码以获取这些值?

1 个答案:

答案 0 :(得分:-1)

如果您将网址设为http://example.com/test=%40%26%5C,则网址肯定会为http://example.com/test=%40%26%5C。当PHP收到对此URL的请求时,PHP 会自动解码查询字符串并将其放入$_GET网址没有变化,只需在$_GET变量中为您的PHP脚本提供查询字符串的解码值

此外,浏览器可能决定在地址栏中以解码形式显示URL,以实现可用性/可读性。这并不意味着实际网址包含@&\个字符。