使用PHP的CURL基於RESTful風格實現POST字串或檔案上傳
阿新 • • 發佈:2018-12-12
目前不管是移動端的API還是呼叫眾多服務商(微信、微博、銀行等)的介面大多數都是基於RESTful風格。下面就介紹如何使用PHP基於RESTful風格上傳檔案或POST字串。
上傳檔案程式碼示例:
$url = '提交地址'; //$postfields = file_get_contents('檔案路徑或者檔名'); $ch = curl_init(); $params[CURLOPT_URL] = $url; //請求url地址 $params[CURLOPT_HEADER] = true; //是否返回響應頭資訊 $params[CURLOPT_RETURNTRANSFER] = true; //是否將結果返回 $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向 $params[CURLOPT_POST] = true; $params[CURLOPT_POSTFIELDS] = $postfields; curl_setopt_array($ch, $params); //傳入curl引數 $content = curl_exec($ch); //執行 echo $content; //輸出登入結果 curl_close($ch); //關閉連線
如果PHP作為伺服器端接收檔案並儲存可以使用如下程式碼:
$bin_file = file_get_contents('php://input');
file_put_contents('檔案儲存路徑/檔名.副檔名');
如果使用PHP通過POST的方式提交xml或者json等格式的字串可以使用如下程式碼:
$url = '提交地址'; $postfields = 'XML或者JSON等字串'; $ch = curl_init(); $params[CURLOPT_URL] = $url; //請求url地址 $params[CURLOPT_HEADER] = true; //是否返回響應頭資訊 $params[CURLOPT_RETURNTRANSFER] = true; //是否將結果返回 $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向 $params[CURLOPT_POST] = true; $params[CURLOPT_POSTFIELDS] = $postfields; curl_setopt_array($ch, $params); //傳入curl引數 $content = curl_exec($ch); //執行 echo $content; //輸出登入結果 curl_close($ch); //關閉連線
接收字串資料只需使用:
file_get_contents('php://input');