PHP CURL如何支持传多维数组?
$_getData['test']['name']['ec'] = 'egeer';
//curl GET + POST 提交
public function filePostContents($url, $data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
//curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
//curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
http_build_query 这个函数只能支持到3维数组啊
写四维数组 $_getData['test']['name']['ec']['php'] = 'egeer';
就报错 Cannot use string offset as an array i
为啥一定要传多维数组呢,转换成json,接受时再转换成数组呗
要传输的数据进行转换,不要使用序列化,有时候接受方反序列化后得到的数据与原始数据有出入。使用base64_encode.当然要是很大的数据考虑下post的一次性传输容量是否有限制。
多维数组不能传吧
这个结构也好神奇
用楼上说的json传~~
的先转成字符串,如果带字段的还要注意格式