发送方的代码如下
namespace Api\Controller;
use Think\Controller;
class IndexController extends Controller
{
public function send()
{
ini_set("error_reporting","E_ALL & ~E_NOTICE");
$obj->phonenum = '15340958922';
$data = json_encode($obj);
$url = "/Api/Sync/phonenum";
$res = $this->http_request($url, $data);
echo $res;
}
// HTTP请求(支持HTTP/HTTPS,支持GET/POST)
function http_request($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (! empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
}
接受方的代码如下
namespace Api\Controller;
use Think\Controller;
class SyncController extends Controller
{
//判断用户手机号码是否存在
public function phonenum()
{
$postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : "";
/* $this->logger('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . (empty($_SERVER['QUERY_STRING']) ? "" : ("?" . $_SERVER['QUERY_STRING'])));
$this->logger($postStr); */
$sync_log = M('sync_log');
$sync_log->url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . (empty($_SERVER['QUERY_STRING']) ? "" : ("?" . $_SERVER['QUERY_STRING']));
$sync_log->poststr = $postStr;
$sync_log->createtime =time();
$sync_log->add();
$res = json_decode($postStr, true);
// 验证手机号码是否存在
$user_db = M("member_list");
$map['member_list_tel'] = $res['phonenum'];
$map['display'] = 'on';
$user_res = $user_db->where($map)->find();
if ($user_res) {
$arr = array(
'clientid' => $user_res['member_list_id']
);
}else {
$arr = array(
'clientid' => 0
);
}
echo json_encode($arr);
}
}
如果觉得《php 发送post请求json thinkphp php post发送json请求 就收post请求》对你有帮助,请点赞、收藏,并留下你的观点哦!