Использую метод 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);