这是我的阵列:
Array
(
[lead_id] => 107
[source_type] => 1
[source_id] => 1
[lead_content] => {"1":"11","2":"11"}
[user_ip] => ::1
[user_agent] => Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36
[user_referer] =>
[old_user_lead_id] => 5
[user_id] => 1
[lead_status_id] => 1
[lead_management_comment] =>
[time] => 2016-02-17 20:11:24
[utm_source] =>
[utm_medium] =>
[utm_term] =>
[utm_content] =>
[utm_campaign] =>
[lead_status_name] => Received
)
我尝试使用此代码发送给他:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if ($post) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_REFERER, get_site_url());
$result = curl_exec($ch);
curl_close($ch);
在另一方面,我有代码只打印$ _POST。但是这个代码不能用这个数组打印任何东西(和其他数组一样可以正常工作)。 数组为什么不通过?可能是因为我的阵列中有任何非法字符?
谢谢:)
答案 0 :(得分:0)
问题解决了。这不是阵列。 问题出在接收数据的文件中。 他有防止显示太多角色的保护。这对我来说非常愚蠢。
感谢大家的帮助:)。
答案 1 :(得分:-2)
你不能直接将数组传递给 CURLOPT_POSTFIELDS
,你必须
要正确发送多维数组,您必须先使用http_build_query()
:
(...)
if ($post) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $post ));
}
(...)
我的第一个答案完全不正确,但我保留了修改,因为多维数组正确。