Home >Backend Development >PHP Tutorial >How does php use curl to receive the POST address, which is a method to create an interface?

How does php use curl to receive the POST address, which is a method to create an interface?

不言
不言Original
2018-08-03 14:20:572056browse

This article introduces you to how PHP uses curl to receive the POST address and create an interface. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

The so-called interface, to put it bluntly, is a controller without a view. Both parties just need to define the format and signature to ensure data security. Most of them are json strings. As for the interface document, it is the most important. You can use ShowDoc to write it, search it on Baidu, it is a very useful free open source product

/*这是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(&#39;Connect Error (&#39; . $mysqli->connect_errno . &#39;) &#39;
            . $mysqli->connect_error);
}
$output = array();
$user_by= $_POST[&#39;user_by&#39;];$uid = $_POST["uid"];
if (empty($user_by)) {
    $output = array(&#39;data&#39;=>NULL, &#39;info&#39;=>&#39;this is null!&#39;, &#39;stats&#39;=>1);
    exit(json_encode($output));
}
if ($user_by == &#39;get_userinfo&#39;) {//调用获取用户信息的接口
    //查询数据库
    $sql="select * from user WHERE user_id=$uid";
    $result =$mysqli->query($sql);
    $userInfo = $result -> fetch_row();
    if($userInfo){//如果数据存在输出数据
        $output = array(
            &#39;data&#39; => array(
                &#39;userInfo&#39; => $userInfo,
            ),
            &#39;stats&#39;=>0
        );
    }else{
        $output = array(
            &#39;data&#39; => array(
                &#39;userInfo&#39; => $userInfo,
            ),
            &#39;stats&#39;=>1
        );
    }
    exit(json_encode($output));//把结果反馈给客户端
} 
$mysqli->close();
?>
**********************************************************************************
/*这是一个接口调用的方法(post)*/
$url = &#39;http://localhost/testmysql.php&#39;;
$sl_data=array(
    &#39;uid&#39;=>1,
    &#39;user_by&#39;=>&#39;get_userinfo&#39;
);
$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);

Recommended related articles:

How to replace the img tag in html code according to different conditions in php

How to use 32-digit php to encrypt and decrypt IDs (with code)

The above is the detailed content of How does php use curl to receive the POST address, which is a method to create an interface?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn