1

私はPHPに非常に慣れていません.curlを介してAPIを呼び出し、結果をデータベースにインポートできる形式に解析する必要があります。結果を csv として保存したり、データベースに直接プッシュするにはどうすればよいですか?

ありがとう

これらの結果を受け取る api 呼び出し

[{"mac":"AC86740410B8","siteId":"1032","name":"main-rtr","desc":"","loc":{"lat":-25.887635,"lng" :28.150488,"levelId":0,"ソース":"マニュアル"},"lrrt":1,"lrne":4}]

これは私のコードです

$ch = curl_init();
$fp = fopen("data.txt", "a+");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, 'http://theapi.com/');
curl_setopt ($ch, CURLOPT_USERPWD, "username:password");
curl_setopt ($ch, CURLOPT_FILE, $fp);
CURLOPT_HTTPHEADER >= array('Content-type: application/json');
$json = ('data.txt');
//json_decode($json, true);
//$data = json_decode(file_get_contents('data.txt'), true);
var_dump(json_decode($json));
var_dump(json_decode($json, true));
curl_exec($ch);
curl_close($ch);
fclose($fp);
4

1 に答える 1

0

次のように、デコードされた結果にアクセスできます。

$data = json_decode('[{"mac":"AC86740410B8","siteId":"1032","name":"main-rtr","desc":"","loc":{"lat":-25.887635,"lng":28.150488,"levelId":0,"source":"manual"},"lrrt":1,"lrne":4}]');

$arrayFromResults = array(
  $data[0]->mac,
  $data[0]->loc->lat,
  $data[0]->lrne
);

var_dump( $arrayFromResults ); 

var_dump( $data ); 

( http://codepad.org/kzZ7nhck )

次に、配列を putcsv に簡単に渡します。

http://php.net/manual/en/function.fputcsv.php

...またはDBに書き込みます:

http://www.php.net/manual/de/pdo.exec.php

于 2012-07-20T05:53:20.777 に答える