我无法通过CURL将表单数据发布到位于不同主机上的接收PHP脚本。使用PHP和CURL发布多维数组
我得到一个错误Array to string conversion
这是数组我张贴的print_r
:
Array
(
[name] => Array
(
[0] => Jason
[1] => Mary
[2] => Lucy
)
[id] => 12
[status] => local
[file] => @/test.txt
)
这是发生错误的行:
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $post);
第三个参数必须是一个数组,因为我需要将Content-Type
标头设置为multipart/form-data
,因为我通过这个相同的数组发送文件,因此我无法将数组转换为查询字符串或使用http_build_query()
。
此外,我没有访问接收主机上的代码,所以我不能序列化和反序列化数组。
我假设名称键值为数组是导致此错误的原因,我还假设CURLOPT_POSTFIELDS
不支持多维数组。有没有其他解决方法或注定?
在此先感谢!
谢谢!我其实并不知道我可以这样做。我添加了'CURLOPT_HTTPHEADER'并将我的数组传递给'http_build_query()'。任务完成! – 2010-09-23 09:38:46
感谢您提及'http_build_query()'。它对我来说就像一个魅力! – mccbala 2013-09-16 08:10:58
在我的情况下,这是行不通的。错误是**警告:第0行**中未知的multipart/form-data POST数据中缺少边界。什么对我来说是[这篇文章](http://stackoverflow.com/a/8224117/1057527)Khristenko Yura – machineaddict 2014-04-11 09:43:01