我知道 curl 的POSTFIELDS
选项将采用查询字符串或关联数组。
curl_setopt($curl, CURLOPT_POSTFIELDS, $_POST);
但是可以说我有一个页面,输入是这样的:
<input type="text" name="address[line1]">
PHP 将创建一个多维数组$_POST['address']['line1']
,不幸的curl_setopt
是它不知道如何处理。是否有一些简单的方法可以将可能是多维的关联数组转换为有效的 HTTP 查询字符串?
或者,是否有某种方法可以像使用 get 一样访问原始 HTTP 发布查询字符串$_SERVER['QUERY_STRING']
?
您可以使用http_build_query()
创建一个可以传递给 cURL 的字符串:
<?php
$posted = ["foo"=>"bar", "address"=>["line1"=>"foo"]];
$string = http_build_query($posted);
echo $string;
输出:
foo=bar&address%5Bline1%5D=foo
您还可以使用 访问原始 POST 数据,input://
但这很少需要,除非处理非 HTML 数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句