0

我有 2 个网站(2 个不同的域/服务器),我需要在它们之间传输数据。源服务器将拥有an Array/ Array Object. 然后需要将其交付到另一个站点。我不希望原始数组格式错误。

到目前为止我能想到的是,使用 cURL fromDestination Server然后提供 Array Object as echo json_encode( $array )from Source Server

请问能用吗?它实际上很可能是一个Web Service,但我只是不知道如何处理。请问你最好的建议是什么?

注意:实际上我对方法或方向也没有任何限制。只要数据到达目标服务器,是否可以建议json_encode或建议。cURL非常感谢!

4

3 回答 3

1

流动的方向重要吗?如果没有,请让消费者请求数据而不是服务器将数据发送给消费者,这样就没有 POST 限制等。此外,它可以是一个简单的 json 响应。所以消费者请求一个 URL yourserver.com/data/customers.php 然后它会简单地做一个 json_encode($array);

编辑以使代码示例清晰以下是事物的终点

端点.php

#big array
$array = array('Apple','Banana');

header('Content-Type: application/json');
echo json_encode($array);
exit;

//EOF

和消费者

$json_obj = json_decode(file_get_contents('http://yourdomain.com/endpoint.php')); 
print_r($json_obj);
于 2013-05-09T04:52:08.513 回答
1

用于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 发布多维数组并在服务器上获取结果

于 2013-05-09T04:39:07.150 回答
1

通过 cURL 函数发送 HTTP POST 请求,并将serialize () 数组添加到请求正文中。

序列化功能是有用的检查here

于 2013-05-09T04:39:21.713 回答