如何使用php curl发布多个文件

时间:2014-10-08 14:02:01

标签: php curl file-upload

我正在寻找如何模仿

<input name='files' type='file' multiple>

我使用curl

curl -v -include --form  files=@slide.swf --form files=@product.png localhost:5500/file_upload

但是找不到用php的方法

    $post = array('files'=> "@".realpath($file1), 'files' => "@".realpath($file2)) ;

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL,$target_url);
 curl_setopt($ch, CURLOPT_POST,1);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
 $result=curl_exec($ch);
 curl_close ($ch);

它不是重复的,因为另一个使用像files[]这样的参数数组,而不是一个包含多个文件的参数。

---解决方案---

问题是需要将一个具有相同名称的索引转换为如下数组:

$post = array('files'=> array("@".realpath($file1), "@".realpath($file2))) ;

哪种解决方案不适用于curl_php(引用了bug但从未真正纠正过),所以有人在这里做了一个有效的功能multiple values with same key

此致

0 个答案:

没有答案