Загрузка изображений для vk.com через api

576
30 марта 2017, 22:43

Необходимо загрузить изображение для Товаров в Вконтакте. Получаю адрес для загрузки методом https://vk.com/dev/photos.saveMarketPhoto. После, код ниже должен загрузить изображение, но получаю ошибку ERR_UPLOAD_BAD_IMAGE_SIZE: market photo min size 400x400 Изображение разумеется больше 400x400.

$file["file"] = file_get_contents($image_path);
$ch = curl_init($urlUpload);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $file);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$upload_data = json_decode(curl_exec($ch), true);

Ответ

Array
(
    [error] => ERR_UPLOAD_BAD_IMAGE_SIZE: market photo min size 400x400
    [bwact] => do_add
    [server] => 638423
    [_sig] => 488b98bab6f2b936b568101b1997cb83
)
Answer 1

Нашёл решение. Работающий код:

$image_path = dirname(__FILE__).'/temp.jpg';
$cfile = curl_file_create($image_path,'image/jpeg','temp.jpg');
$ch = curl_init($urlImage);
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);
READ ALSO
Массив данных из фигурных скобок в строке

Массив данных из фигурных скобок в строке

Не могу получить массив из строки, если перед скобками есть символы

260
Как узнать размер изображения

Как узнать размер изображения

Подскажите, как сделать так чтобы при загрузке аватарки (изображения) меньше 200x200 выбивало ошибку?

161
Отображение подзаголовков в категории. PHP и MySQL

Отображение подзаголовков в категории. PHP и MySQL

У меня появился вопрос, как сделать так, чтобы на странице категории подгружались подзаголовки, под которыми уже отображались конечные статьи?

191
Сохранение сессии через AJAX

Сохранение сессии через AJAX

Допустим у нас есть 2 файла:

168