不同两个服务器PHP程序,怎么互相传数组啊?
有没什么比较可靠的方法?
2个服务器相互curl post请求对方接受数据的接口就行了。只是发送数组前用json_encode转字符串发送,接收接口json_decode反序列为数组。
简单示例如下
发送页面send.php
<meta charset="utf-8"/>
<?php
/*
请求$url接口,并发送数组$data
*/
function sendData($data,$url){
$data=json_encode($data);//转字符串
$ch = curl_init();
curl_setopt( $ch , CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch , CURLOPT_HTTPHEADER, array ( "Content-type:application/json" ));
curl_setopt( $ch , CURLOPT_POST, 1);
curl_setopt( $ch , CURLOPT_POSTFIELDS, $data );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt( $ch , CURLOPT_HEADER,0);
$resp=curl_exec( $ch );
curl_close( $ch );
return $resp;
}
$data = array('name' => '张三', 'age' => 30, 'gender' => '男');
$apiurl="http://asp.w3dev.cn/api/data.php";//对方服务器数据接口网址
$s=sendData($data,$apiurl);
echo "数据接口返回内容<br>".$s;
接受端 api/data.php
<?php
$data = file_get_contents('php://input');
$data=json_decode($data);//转json对象
//下面简单输出对象,自己根据需要修改逻辑
foreach($data as $k=>$v)echo "$k==>$v<br>";
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!