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);
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы