2012-07-22 12 views
14

Potrzebuję przesłać wiele plików na serwer przy użyciu narzędzia wiersza polecenia curl. dla pojedynczego pliku nie mam problemu z wykorzystaniem:przesłać wiele plików do serwera php za pomocą wiersza polecenia curl

curl -F "[email protected]" http://localhost:8888/web/Upload.php 

w jaki sposób mogę to zrobić z więcej niż jednego pliku, tak że zmienna php $ _FILES [ „Obraz”] [ „error”] zwróciłby tablicę?

Próbowałem

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 

ale są to ukłucie w ciemności.

Odpowiedz

30

Sztuką jest nazywanie unikalnych parametrów przesyłania plików.

curl -F "[email protected]" -F "[email protected]" http://localhost:8888/web/Upload.php 

ten pojawi się w $_FILES superglobalnej jako $_FILES['image'] i $_FILES['image2'].

Aby pliki zgrupowane w jednym $_FILES indeksu musisz wymienić parametry jak tablice:

curl -F "image[][email protected]" -F "image[][email protected]" http://localhost:8888/web/Upload.php 
+0

Faktycznie widziałem następujące strony http://php.net/manual/en/features. file-upload.multiple.php, który pokazał, że możesz przesłać jako tablicę zdjęć [] ["error"]. Zastanawiam się, czy to możliwe z curl – sapatos

+0

to tylko do testowania usługi internetowej, która będzie używana przez aplikację iPhone. załaduje on jednocześnie kilka obrazów na raz. – sapatos

+0

O, można to osiągnąć czarując, jeśli nazwałeś params jako tablice. Zaktualizowany przykład. – complex857

Powiązane problemy