Опубликовать массив файлов с PHP curl - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу опубликовать массив файлов на сервере, используя PHP и curl. В HTML это выглядит следующим образом:

<form method="POST" type="multipart/form-data">
    <input type="text" name="fieldx" value="123"/>
    <input type="file" name="localfile[]"/>
    <input type="file" name="localfile[]"/>
</form>

То же самое должно быть сделано с CURL:

$postParameters['fieldx'] = "123";
$postParameters['localfile'] = array("fulllocalfilepath1", "fulllocalfilepath2");

$request = curl_init('http://server.abc');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
    $request,
    CURLOPT_POSTFIELDS,
    $postParameters
);  
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
$rawData = curl_exec($request);
curl_close($request);

Но сервер не получает массив localfile при использовании CURL. Какова правильная команда для отправки файлов?

С уважением,

1 Ответ

0 голосов
/ 09 ноября 2018

Получил решение:

$postParameters['fieldx'] = "123";
$postParameters['localfile[0]'] = new cURLFile("fulllocalfilepath1", "mime", "readable name 1");
$postParameters['localfile[1]'] = new cURLFile("fulllocalfilepath2", "mime", "readable name 2");
$request = curl_init('http://server.abc');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
    $request,
    CURLOPT_POSTFIELDS,
    $postParameters
);  
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
$rawData = curl_exec($request);
curl_close($request);
...