libcurl - how to simulate multiple file upload in array



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">
clients:<br>
<input name="userfile[]" type="file"><br>
invoices:<br>
<input name="userfile[]" type="file"><br>
<input type="submit" value="Send files">
</form>

I prepare an array and run curl:

<?php
$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);
$result=curl_exec($ch);
$f=fopen("phpinfo.html","wb");
fwrite($f,$result);
fclose($f);
curl_close ($ch);
?>

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

_REQUEST["userfile"] Array

instead of what i'd expect...

_FILES["userfile"]

Array
(
[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.

Y.
.



Relevant Pages

  • Re: posting with cURL problem
    ... I can't figure out why is it that when i use an array for my postfields ... string, but it sends nothing back when i use an array - no headers, no ... And cURL shows no error either. ... web site reads it differently than when i post a string and possibly ...
    (comp.lang.php)
  • posting with cURL problem
    ... I can't figure out why is it that when i use an array for my postfields ... And cURL shows no error either. ... web site reads it differently than when i post a string and possibly ... echo $response; // this echos nothing and when saved to a file the ...
    (comp.lang.php)