不同两个服务器PHP程序,怎么互相传数组啊?
有没什么比较可靠的方法?
2条回答 默认 最新
CSDN专家-showbo 2023-05-10 20:30关注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>";本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用