@ff0xff

Как в php curl отослать файлы массивом?

Подскажите как curl отослать массив файлов с формой?

запрос в браузере выглядит вот так:
raw
-----------------------------85944096212715163782092274049
Content-Disposition: form-data; name="files[]"; filename="1.jpg"
Content-Type: image/jpeg

ÿØÿà
.................(бинарник сокращен)..................
-----------------------------85944096212715163782092274049
Content-Disposition: form-data; name="action"

0
-----------------------------85944096212715163782092274049
Content-Disposition: form-data; name="id_ad"

0
-----------------------------85944096212715163782092274049
Content-Disposition: form-data; name="load_file"

[]
-----------------------------85944096212715163782092274049--

Мы видим что поле files представляет собой массив но по мимо него идет еще и другие поля
Когда я в php пытаюсь делать что то вроде
$postdata = array(
    'files' => array(new CURLFile($target)),
    'action' => 0,
    'id_ad' => 0
);

то на строке
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
получаю ошибку:
PHP Notice: Array to string conversion in

Подскажите как отправить файлы curl в массиве и добавить к нему остальные поля? кто знает?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
@ff0xff Автор вопроса
Кароче блин
$f[0]=curl_file_create('1.jpg');
$f[1]=curl_file_create('2.jpg');
$f['action']= 0;
$f['id_ad']= 0;
$f['load_file']= array();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
romanko_vn
@romanko_vn
так попробуй

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postdata));


или так

$postdata = array(
    'files' => new CURLFile($target),
    'action' => 0,
    'id_ad' => 0
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы