Задать вопрос
vechnokrainii
@vechnokrainii
ну почти всегда(

Как использовать CURLFile в Guzzle?

Здравствуйте! У меня такой вопрос. Я использую vk api. Мне нужно отправить фото на сервер. При написание через curl, у меня получилось это сделать, однако когда я попытался использовать Guzzle то ничего не отправляется.
$upload_url = 'www.example.com'; //  это сервер на который нужно постом отправить фото

$image_path = dirname(__FILE__).'/temp.jpg';
$cfile = curl_file_create($pic,'image/jpeg','temp.jpg');
$ch = curl_init($upload_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array("file" => $cfile));
$result = json_decode(curl_exec($ch), true);
curl_close($ch);

в этом случае все работает. Но если я использую Guzzle, то выдает ошибку, что расширение не подходит, однако через курл он ее грузит. Пробовал вот так:
$pic = 'path/to/image/';
$arr = [
    'contents' => Psr7\Utils::tryFopen($pic, 'r'),
    'name' => 'temp.jpg', // название файла
];
$arr1['file'] = $arr;
$upload_url = $response['response']['upload_url']; // адрес сервера на который нужно отправить
$data1 = $client->request('POST', $upload_url, $arr)->getBody();
$response = json_decode($data1->getContents(), true);
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽