Мне нужно отправить данные массива с файлами. Использование только данных работает правильно:
$client->post('http://xxx/', [
'form_params' => [
[
'data' => ['id' => 1234, 'name' => 'nombre'],
'valid' => true
]
]
]);
Но поскольку я не могу использовать «form_params» с «multipart», как я могу отправлять файлы с массивами и логическими данными?
Я пробовал:
$client->post('http://xxx/', [
'multipart' => [
[
'name' => 'myfile',
'contents' => fopen('my_file.txt', 'r'),
],
[
'name' => 'data',
'contents' => ['id' => 1234, 'name' => 'nombre'],
]
[
'name' => 'valid',
'contents' => true,
]
],
]);
но я получаю сообщение об ошибке, так как «содержимое» не принимает логические значения или значения массива.
Мне нужна помощь.
Спасибо
Обновление: я не смог решить проблему, и, наконец, мне пришлось использовать не очень хорошее решение, включая в качестве строки запроса параметр формы и используя только Multipart. Что-то вроде:
$client->post('http://xxx?id=1234&name=nombre', [
'multipart' => [
[
'name' => 'myfile',
'contents' => fopen('my_file.txt', 'r'),
],
],
]);