I need to upload multiple files to a server using the curl command line utility. for a single file I have no problem using:
curl -F "[email protected]" http://localhost:8888/web/Upload.php
how would I do this with more than one file so that the php variable $_FILES["image"]["error"] would return an array?
I've tried
curl -F "[email protected]" -F "[email protected]" http://localhost:8888/web/Upload.php curl -F "[email protected],[email protected]" http://localhost:8888/web/Upload.php
but these are a stab in the dark.
To post a file with Curl, use the -d or -F command-line options and start the data with the @ symbol followed by the file name. To send multiple files, repeat the -F option several times.
To execute a CURL file upload, you need to use the –d command-line option and begin data with the @ symbol. The file's name should come after the data with @ symbol so CURL can read it and send it to the server.
cURL is a PHP extension that allows you to use the URL syntax to receive and submit data. cURL makes it simple to connect between various websites and domains.
The trick is to name the file uploading parameters unique.
curl -F "[email protected]" -F "[email protected]" http://localhost:8888/web/Upload.php
This will show up in the $_FILES
superglobal as $_FILES['image']
and $_FILES['image2']
.
To make the files grouped under one $_FILES
index you need to name the parameters as arrays:
curl -F "image[][email protected]" -F "image[][email protected]" http://localhost:8888/web/Upload.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With