Ich versuche zu verstehen, wie Sie das Ergebnis einer Curl-GET-Anfrage mit PHP aufnehmen. Ich schaue auf die Ausgabe eines Teils oder des gesamten Ergebnisses an mysql.Zeichnen Sie das Ergebnis einer curl GET-Anfrage mit PHP & MySQL
https://github.com/cloudtrax/docs/blob/master/api/code/php/simple_api_server_test_harness.php
function invoke_curl($method, $endpoint, $headers, $json) {
$api_server = 'https://api.cloudtrax.com';
try {
// get a curl handle then go to town on it
$ch = curl_init($api_server . $endpoint);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if ($result == FALSE) {
if (curl_errno($ch) == 0)
echo "@@@@ NOTE @@@@: nil HTTP return: This API call appears to be broken" . "\n";
else
throw new Exception(curl_error($ch), curl_errno($ch));
}
else
echo "RESULT: \n" . $result . "\n";
}
Das Ergebnis $ zeigt wie folgt aus:
{
"clients": {
"ssid2": 4,
"ssid1": 10
},
"rows": [
{
"time": "2016-03-23T02:45:00Z",
"ssid2": {
"traffic": {
"unclassified": {
// etc...
Wie kann ich jeden Teil des Ergebnisses zu einer Variable zuzuordnen, so kann ich dann auch Eingang mysql?
keine der Antworten die Arbeit machen, @shagun näher diese Verbindungen hat mich akarsh, aber meine Vermutung ist, gibt es etwas über die "Tiefe" des JSON, die besser bestellt werden muss. Ich meine, die „Kunden“ ist ein Niveau, dann „Reihen“ hat seine eigene Struktur dann ‚Zeit‘ hat 24 Ergebnisse unter ‚SSID1‘ und ‚SSID2‘ – ballofjoy
Fortschritt Danke Jungs: ' $ jsonIterator = new RecursiveIteratorIterator ( neue RecursiveArrayIterator (json_decode ($ Ergebnis, WAHR)), RecursiveIteratorIterator :: SELF_FIRST); Echo "
"; foreach ($ jsonIterator als $ key => $ val) { if (is_array ($ val)) { echo "$ key: \ n"; \t \t Echo "
"; } sonst { echo "$ key => $ val \ n"; \t \t Echo "
"; } } ' – ballofjoy