Verwenden von Arrays in cURL-POST-Anfragen
Beim Versuch, ein Array von Bildern mithilfe von cURL zu senden, können Benutzer auf Probleme stoßen, bei denen nur das erste Array-Wert wird übertragen. In dieser Frage wird untersucht, wie dieses Problem behoben werden kann.
Der Originalcode scheint einen kleinen Fehler in der Array-Struktur aufzuweisen. Um dieses Problem zu beheben, wird empfohlen, http_build_query zu verwenden, um das Array korrekt zu formatieren:
<code class="php">$fields = array( 'username' => "annonymous", 'api_key' => urlencode("1234"), 'images' => array( urlencode(base64_encode('image1')), urlencode(base64_encode('image2')) ) ); $fields_string = http_build_query($fields);</code>
Diese Änderung stellt sicher, dass das Array korrekt in eine Abfragezeichenfolge codiert wird. Der untenstehende aktualisierte Code berücksichtigt diese Änderung:
<code class="php">extract($_POST); $url = 'http://api.example.com/api'; $fields = array( 'username' => "annonymous", 'api_key' => urlencode("1234"), 'images' => array( urlencode(base64_encode('image1')), urlencode(base64_encode('image2')) ) ); $fields_string = http_build_query($fields); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); $result = curl_exec($ch); echo $result; curl_close($ch);</code>
Mit diesem aktualisierten Code wird das Bildarray korrekt in der POST-Anfrage gesendet. Die API empfängt wie erwartet beide Bilder.
Das obige ist der detaillierte Inhalt vonWie sende ich mehrere Bilder in einer cURL-POST-Anfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!