cURL POST リクエストでの配列の使用
cURL を使用して画像の配列を送信しようとすると、最初の画像のみが送信されるという問題が発生する可能性があります。配列値が送信されます。この質問では、この問題を修正する方法を検討します。
元のコードには、配列構造に小さな欠陥があるようです。これを解決するには、http_build_query を使用して配列を正しくフォーマットすることをお勧めします。
<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>
この変更により、配列がクエリ文字列に正しくエンコードされるようになります。以下の更新されたコードには、この変更が組み込まれています。
<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>
この更新されたコードでは、画像の配列が POST リクエストで正しく送信されます。 API は期待どおりに両方の画像を受け取ります。
以上がcURL POST リクエストで複数の画像を送信するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。