Пост-файл PHP cURL с параметрами массива --без ключей

Мне нужно отправить запрос POST через PHP cURL. Он должен включать как файл, так и параметр массива. Необработанная команда curl должна выглядеть так:

curl "https://the.url.com"                                                                                                            
  -F file = "@/path/to/file.xml"
  -F 'list_item[]=foo'
  -F 'list_item[]=bar'

К сожалению, параметр list_item[] не может иметь ключей (например, list_item[0], list_item[1] и т. д.), иначе сервер выдаст ошибку.

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://the.url.com');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, [
         'file' => curl_file_create($file),
         'list_item' => [
             'foo',
             'bar'
         ]
    ]);
    $response = curl_exec($ch);

Должно быть, это создает неправильную команду curl, потому что она также отклоняется.

Кто-нибудь может помочь?

Я думаю, вам нужно использовать http_build_query - посмотрите на это

dWinder 27.02.2019 16:16

@dWinder, похоже, нарушается параметр файла. Сервер думает, что я не загружаю файл.

Robin Fuller 27.02.2019 16:42

Не могли бы вы использовать переменную сеанса?

Perelx 13.03.2019 22:07

@Perelx Мне не принадлежит сервер/приложение, на которое я пишу. В конце концов, владелец разрешил мне использовать параметры строки запроса. Так что для меня это больше не проблема.

Robin Fuller 15.03.2019 10:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
188
0

Другие вопросы по теме