这个PHP代码:
$test = '@&\\';
echo rawurlencode($test);
结果如下:
http://example.com/test=%40%26%5C
在网址中的$ _GET请求中,会出现类似这样的内容:
test=@&\
以上不是允许的$ _GET变量。
我如何仍然使用带有这些值的$ _GET变量,对它们进行编码并将其解码以获取这些值?
答案 0 :(得分:-1)
如果您将网址设为http://example.com/test=%40%26%5C
,则网址肯定会为http://example.com/test=%40%26%5C
。当PHP收到对此URL的请求时,PHP 会自动解码查询字符串并将其放入$_GET
。 网址没有变化,只需在$_GET
变量中为您的PHP脚本提供查询字符串的解码值。
此外,浏览器可能决定在地址栏中以解码形式显示URL,以实现可用性/可读性。这并不意味着实际网址包含@&\
个字符。