@vcherepko

Как опубликовать несколько фото с описанием на стену ВК?

Использую метод photos.saveWallPhoto, в доках сказано что для параметра photo можно передавать в одном методе не более 6 фото, параметр caption является строкой, если я передаю в caption значение, оно одинаково для всех фото.
Вопрос как опубликовать галерею из нескольких фото с собственным описанием для каждого фото?

// создание массива из 6 фото
                        $arrImg = array();
			foreach ($photo as $key => $img) {
				$key++;
				$arrImg['file'.$key] = new CURLFile($_SERVER["DOCUMENT_ROOT"].$img['img']);
			} 
     
	    // Отправка изображений на сервер.
	    $ch = curl_init();
	    curl_setopt($ch, CURLOPT_URL, $res->response->upload_url);
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	    curl_setopt($ch, CURLOPT_POST, 1);
	    curl_setopt($ch, CURLOPT_POSTFIELDS, $arrImg);


	    $res = json_decode(curl_exec($ch));
	    curl_close($ch);

	    if (!empty($res->server)) {
	    	// Сохранение фото в группе.
          $params = array(
            'group_id' =>$group_id,
            'server' =>$res->server,
            'photo' =>stripslashes($res->photo),
            'hash' =>$res->hash,
            'caption' =>$capt,
            'access_token' => $token,
            'v'            => '5.95' 
          );
          // Отправить сообщение
          $ch=curl_init();
          curl_setopt($ch, CURLOPT_URL,'https://api.vk.com/method/photos.saveWallPhoto?');
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch, CURLOPT_POST, 1);
          curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));

          $res = json_decode(curl_exec($ch));
          curl_close($ch);

      	$attach = array();
      	foreach ($res->response as $key => $photo) {
      		$attach[$key] = 'photo' . $photo->owner_id . '_' . $photo->id; 
      	} 
        $attach = implode(',', $attach);
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lightmanLP
Задушил питона
Отправить несколько разных запросов не вариант?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы