Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有什么技巧可以避免在查询字符串中对url进行url编码_Php_Query String_Urlencode - Fatal编程技术网

Php 有没有什么技巧可以避免在查询字符串中对url进行url编码

Php 有没有什么技巧可以避免在查询字符串中对url进行url编码,php,query-string,urlencode,Php,Query String,Urlencode,我试图为一个客户端编写一个脚本,该客户端需要能够接受查询字符串中的web地址,而不需要首先对其进行URL编码。例如: 但是,当我回显$\u GET['url']的内容时,它给出了以下信息: www.amazon.co.uk/ESET智能安全用户年/dp/B005NPFOBM/ref=sr_1_1?s=software 所以基本上它似乎被第一个安培数卡住了-我猜是因为它认为这是另一个变量 除了URL编码,还有什么诀窍可以让它工作吗?我可能会从一个表单上发布它,但这与脚本的想法背道而驰。您可以询问

我试图为一个客户端编写一个脚本,该客户端需要能够接受查询字符串中的web地址,而不需要首先对其进行URL编码。例如:

但是,当我回显$\u GET['url']的内容时,它给出了以下信息:

www.amazon.co.uk/ESET智能安全用户年/dp/B005NPFOBM/ref=sr_1_1?s=software

所以基本上它似乎被第一个安培数卡住了-我猜是因为它认为这是另一个变量


除了URL编码,还有什么诀窍可以让它工作吗?我可能会从一个表单上发布它,但这与脚本的想法背道而驰。

您可以询问查询参数,并将它们添加到您收到的URL中。按正确的顺序列出$\u GET中的其余参数,并将它们添加到$\u GET['url']的末尾

$_GET['url']
 + '&ie=' + $_GET['ie']
 + '&qid=' + $_GET['qid']
 + '&sr=' + $_GET['sr']
请小心,有一天您可能会得到一个额外的参数url。

对于这个特定的用例,您应该使用
$\u服务器['QUERY\u STRING']
。这将一次性为您提供完整的查询字符串,然后您可以自己拆分它


在您的示例中,PHP假设&是下一个GET变量的分隔符。

no。对于GET请求,编码url是唯一的选项。简单但天才。谢谢:)