這篇文章給大家介紹的內容是關於php如何用curl接收POST地址即建立一個介面的方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
所謂介面,說白了就是一個沒有視圖的控制器,雙方定義好格式及簽名保證資料安全性就好,絕大部分都是json串,至於介面文檔,算是最重要的了,可以用ShowDoc寫,百度一下,很好用的免費開源產品
/*這是PHP建立的一個小介面*/<?php$mysqli = new mysqli('localhost', 'root', '123456','interfacetest');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);