我無法通過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