首页 » 网站推广 » phpcurl多维数组技巧_php 用Curl提交数据含有多维数组和文件上传的处理方法

phpcurl多维数组技巧_php 用Curl提交数据含有多维数组和文件上传的处理方法

访客 2024-11-20 0

扫一扫用手机浏览

文章目录 [+]

php curl问题

像PHP调用API接口时 很多时候是会用到CURL 来提交的。
详细的方法就不写了,相信大家都会。

phpcurl多维数组技巧_php 用Curl提交数据含有多维数组和文件上传的处理方法

这篇文章紧张是办理提交的数据里同时包含多维数组和文件的办理方法

phpcurl多维数组技巧_php 用Curl提交数据含有多维数组和文件上传的处理方法
(图片来自网络侵删)

首先我们看下面这句代码

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

这句便是想API接口提交数据的紧张代码了。
但是如果 $data 里有文件的话,由于http_build_query的缘故原由 API那边是吸收不到文件的

那我们直接换成下面这句

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

创造多维数组又吸收不到了

下面给出办理方法

自定义个方法将$data处理下(下面代码大家都能看懂,就不阐明了)

function build_post_fields($data, $existingKeys = '', &$returnArray = [])

{

if (($data instanceof CURLFile) or ! (is_array($data) or is_object($data)))

{

$returnArray[$existingKeys] = $data;

return $returnArray;

} else

{

foreach ($data as $key => $item)

{

build_post_fields($item, $existingKeys ? $existingKeys . \"大众[$key]\公众 : $key, $returnArray);

}

return $returnArray;

}

}

末了利用

curl_setopt($ch, CURLOPT_POSTFIELDS, build_post_fields($data));

就OK了

相关文章

招商蛇口中国房地产龙头企业,未来可期

招商蛇口(股票代码:001979),作为中国房地产企业的领军企业,自成立以来始终秉持“以人为本,追求卓越”的经营理念,致力于打造高...

网站推广 2025-02-18 阅读1 评论0