В PHP, как я могу передать объект (фактически массив) с одного сайта на другой сайт (не теряя исходную структуру и значения объектов)?
Я хочу перейти непосредственно из автоматического сценария, НЕ используя html
и веб-формы.
Любое предложение пожалуйста.
Лучший способ сделать это – использовать 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']);
Вы можете преобразовать его в JSON, а затем преобразовать обратно в объект PHP. Это очень просто, когда это массив. Вы можете просто использовать json_encode($array)
и json_decode($json)
на другом сайте. Я бы отправил данные через POST, потому что предельная длина GET: существует ли ограничение на длину запроса GET?