こんにちは、さるまりんです。
以前、PHPでcurlでPOSTする方法とfile_get_contents()でPOSTする方法について書かせてもらいました。
今回はFuelPHPのフレームワークを使ってPOSTする方法です。
FuelPHPでPOSTする
FuelPHPを使ってサーバーにデータをPOSTするには以下のようにします。
$url = '送り先URL';
$data = [];
// $dataに送るデータを詰めます
$data['name'] = 'salumarine';
$data['type'] = 'monkey';
// Requst_Curlを作ります
$curl = \Request::forge($url, 'curl');
// メソッドはPOSTです。
$curl->set_method('post');
// パラメタ$dataを設定します
$curl->set_params($data);
// 実行!
$response = $curl->execute()->response();
// レスポンスのステータスを確認
if ($response->status == 200)
{
echo "ok!\n";
// レスポンスの中身を表示
print_r($response->body);
}
FuelPHPでPOSTをする際はRequest_Curl
オブジェクトを作って、それにパラメタを設定したり、メソッドを設定したりして利用します。
実行は
$curl->execute()->response()
で、Response
オブジェクトを取得します。
HTTPステータスは$response->status
、レスポンスのボディそのものは$response->body
で取得できます。
呼び出した先がJSONを返却するAPIのとき、$response->body
を連想配列に変換するのは次のようにします。
$result = \Format::forge($response->body,'json')->to_array();
フレームワークやライブラリって便利ですね。
読んでくださってありがとうございます。
それではまた!