在PHP中,如何将一个Object(实际上是一个数组)从一个站点传递到另一个站点(通过不丢失其原始的对象结构和值)?
我希望不使用HTML
和网络表单直接从自动脚本传递
请提出任何建议。
答案 0 :(得分:7)
最好的方法是使用json_encode()
:
file_get_contents('http://www.example.com/script.php?data='.json_encode($object));
另一方面:
$content = json_decode($_GET['data']);
或使用cURL发送
$url = 'http://www.example.com/script.php';
$post = 'data='.json_encode($object);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_exec($ch);
另一方面:
$content = json_decode($_POST['data']);
答案 1 :(得分:1)
您可以将其转换为JSON,然后将其转换回PHP对象。当它是一个数组时,这很容易。您可以在其他网站上使用json_encode($array)
和json_decode($json)
。我会通过POST发送数据,因为GET的限制长度为:Is there a limit to the length of a GET request?