Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sende ich mehrere Bilder in einer cURL-POST-Anfrage?

Wie sende ich mehrere Bilder in einer cURL-POST-Anfrage?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-02 23:21:30363Durchsuche

How to Send Multiple Images in a cURL POST Request?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn