我有2个网站(2个不同的域/服务器),我需要在它们之间传输数据。源服务器将具有an Array/ Array Object
。然后它需要被送到另一个地点。我不希望原始数组是畸形的。
到目前为止,我能想到的是,从Destination Server
中使用cURL,然后从Source Server
中提供数组对象作为echo json_encode( $array )
。
它会工作吗?它实际上很可能是Web Service
,但我只是不知道如何接近。你最好的建议是什么?
注:实际上我对方法或方向也没有任何限制。无论json_encode
还是cURL
,只要数据到达目标服务器,都可以建议使用。非常感谢!
使用http_build_query
和CURL
发送大数组。
编辑
例子$str = http_build_query($array);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "my_url");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $str); // $array is my above data
使用CURL Post多维数组并在服务器上获取结果
通过cURL函数发送HTTP POST请求,并将serialize()数组添加到请求体
序列化函数是有用的检查这里
水流的方向重要吗?如果不是,让消费者请求数据而不是服务器向消费者发送数据,这样就没有POST限制等。也可以是一个简单的json响应。因此消费者请求一个URLyourserver.com/data/customers.php然后它将简单地执行json_encode($array);
编辑使代码示例清晰以下是事物的终点部分
<标题> endpoint.php h1> 消费者$json_obj = json_decode(file_get_contents('http://yourdomain.com/endpoint.php'));
print_r($json_obj);
标题>