libcurl - how to simulate multiple file upload in array

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Hello all,

I'm sorry for a bit off-topic post, but curl does not have own newsgroup, so I hope someone might  
help me here...

I need to feed form like the following using libcurl:

<form action="file-upload.php" method="post" enctype="multipart/form-data">
   <input name="senderid" value="1111" type="hidden">
   <input name="senderpass" value="blah" type="hidden">
   <input name="userfile[]" type="file"><br>
   <input name="userfile[]" type="file"><br>
   <input type="submit" value="Send files">

I prepare an array and run curl:

$postdata=array("senderid"=>"1111", "senderpass"=>"blah",
"userfile"=>array("@newclients.csv", "@invoices.csv"));

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://localhost/phpinfo.php");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_close ($ch);

When I open the phpinfo.html with browser, I see line:

_REQUEST["userfile"] Array  

instead of what i'd expect...


    [name] => Array
            [0] => newclients.csv
            [1] => invoices.csv

    [type] => Array
            [0] => application/octet-stream
            [1] => application/octet-stream

    [tmp_name] => Array
            [0] => C:\WINDOWS\TEMP\php428.tmp
            [1] => C:\WINDOWS\TEMP\php429.tmp

    [error] => Array
            [0] => 0
            [1] => 0

    [size] => Array
            [0] => 24624
            [1] => 13


Does it mean, that curl cannot handle multiple file uploads when they are in the same array or is  
there a bug in libcurl? Is there a way how can I upload more files to the mentioned form?

Thanks anyone for kind help.


Site Timeline