【发布时间】:2011-04-15 21:14:57
【问题描述】:
我无法通过 CURL 将表单数据发布到位于不同主机上的接收 PHP 脚本。
我收到 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()。
此外,我无权访问接收主机上的代码,因此无法序列化和反序列化数组。
我假设 name 键的值是一个数组是导致此错误的原因,我还假设 CURLOPT_POSTFIELDS 不支持多维数组。有没有其他方法可以解决这个问题,还是我注定要失败?
提前致谢!
【问题讨论】: