AI编程助手
AI免费问答

php如何使用curl接收POST地址即创建一个接口的方法

不言   2018-08-03 14:20   2188浏览 原创

这篇文章给大家介绍的内容是关于php如何用curl接收post地址即创建一个接口的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

所谓接口,说白了就是一个没有视图的控制器,双方定义好格式及签名保证数据安全性就好,绝大部分都是json串,至于接口文档,算是最重要的了,可以用ShowDoc写,百度一下,很好用的免费开源产品

/*这是PHP创建的一个小接口*/
<?php $mysqli = new mysqli(&#39;localhost&#39;, &#39;root&#39;, &#39;123456&#39;,&#39;interfacetest&#39;);
mysqli_query($mysqli,"set names utf8");
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
$output = array();
$user_by= $_POST['user_by'];$uid = $_POST["uid"];
if (empty($user_by)) {
    $output = array('data'=>NULL, 'info'=>'this is null!', 'stats'=>1);
    exit(json_encode($output));
}
if ($user_by == 'get_userinfo') {//调用获取用户信息的接口
    //查询数据库
    $sql="select * from user WHERE user_id=$uid";
    $result =$mysqli->query($sql);
    $userInfo = $result -> fetch_row();
    if($userInfo){//如果数据存在输出数据
        $output = array(
            'data' => array(
                'userInfo' => $userInfo,
            ),
            'stats'=>0
        );
    }else{
        $output = array(
            'data' => array(
                'userInfo' => $userInfo,
            ),
            'stats'=>1
        );
    }
    exit(json_encode($output));//把结果反馈给客户端
} 
$mysqli->close();
?>
**********************************************************************************
/*这是一个接口调用的方法(post)*/
$url = 'http://localhost/testmysql.php';
$sl_data=array(
    'uid'=>1,
    'user_by'=>'get_userinfo'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);//要访问的地址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//执行结果是否被返回,0是返回,1是不返回
curl_setopt($ch, CURLOPT_POST, 1);// 发送一个常规的POST请求
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($sl_data));
$output = curl_exec($ch);//执行并获取数据
echo $output;
curl_close($ch);

相关文章推荐:

php如何根据不同的条件替换html代码中的img标签

php如何利用32进制实现对id的加密解密(附代码)

php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。