在 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中文网其他相关文章!