Почему-то не могу получить больше 4 отправленных фотографий боту, скорее всего это ограничение в вк стоит, т.к при отправки 4 или меньше фотографий, я получал количество отправленных фото и выводилось нужно число(ну и сами фото загружались), но когда отправлял больше 4, то количество было рандомным и их было несколько, ну и сами фотографии загружались фиг пойми как, в общем начинался хаос -
(тут я отправил 5 фото и вывел количество полученных фото)
(тут я заново отправил 5 фото, и также вывел количество полученных фото)
Код -
<?
$group_id = $data->group_id;
$type = $data->object->message->attachments[0]->photo->id;
$count = count($data->object->message->attachments);//Получаем количество фотографий.
// message($user_id,$count); die('OK'); // Тут выводилось количество полученных фотографий
for($i = 0; $i != $count; $i ++){//Бегаем по всем фотографиям.
if($data->object->message->attachments[$i]->type == 'photo'){
//Переменные че ты сделал
$colls ++;
//
$type = $data->object->message->attachments[$i]->photo->id;
$sizes = $data->object->message->attachments[$i]->photo->sizes;
$count_size = count($sizes);
$h = 0;
$m = 0;
for($is = 0; $is != $count_size; $is ++){//ТВОЙ КОД
if($data->object->message->attachments[$i]->photo->sizes[$is]->height >= $h){
$h = $data->object->message->attachments[$i]->photo->sizes[$is]->height;
$m = $is;
}
if($data->object->message->attachments[$i]->photo->sizes[$is]->width >= $w){
$w = $data->object->message->attachments[$i]->photo->sizes[$is]->width;
$m = $is;
}
}//
//ДЕЛИТ ССЫЛКУ ЧТОБЫ ПОЛУЧИТЬ ТИП ФАЙЛА
$url = $data->object->message->attachments[$i]->photo->sizes[$m]->url;
$inf = explode('com/', $url);
$inf = explode('.', $inf[1]);
if(strpos($inf[1], '?') !== false){
$inf = explode('?', $inf[1]);
$tt = $inf[0];
}
else{
$tt = $inf[1];
}
//
//Копирует
if (!copy($url,'/web/www/site/bot/photo/'.$type.'.'.$tt)) {
message($user_id,'К сожалению отправить фото не удалось');
die('ok');
}
//
//В массивы
$fils = 'file'.$colls;
$fills_mass[$i] = $type.'.'.$tt;
$mass_file[$fils] = new CURLFile('/web/www/site/bot/photo/'.$type.'.'.$tt); //$tt получает тип файла. PNG или же JPG - для дольнешего сохранения на сервер.
//
}
}
$request_params = array(
'group_id' => $group_id,
'access_token' => $token,
'v' => '5.81'
);
$date = http_build_query($request_params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $date);
curl_setopt($ch, CURLOPT_URL,"https://api.vk.com/method/photos.getMessagesUploadServer?");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result, 1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $result['response']['upload_url']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $mass_file);
$datas = json_decode(curl_exec($ch), true);
curl_close($ch);
$request_params = array(
'photo' => $datas['photo'],
'server' => $datas['server'],
'hash' => $datas['hash'],
'access_token' => $token,
'v' => '5.81'
);
$date = http_build_query($request_params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $date);
curl_setopt($ch, CURLOPT_URL,"https://api.vk.com/method/photos.saveMessagesPhoto?");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$save = json_decode($result, 1);
if($save['response'][0]['owner_id'] != 0){$text .= 'photo'.$save['response'][0]['owner_id'].'_'.$save['response'][0]['id'].'_'.$save['response'][0]['access_key'];}
if($save['response'][1]['owner_id'] != 0){$text .= ',photo'.$save['response'][1]['owner_id'].'_'.$save['response'][1]['id'].'_'.$save['response'][1]['access_key'];}
if($save['response'][2]['owner_id'] != 0){$text .= ',photo'.$save['response'][2]['owner_id'].'_'.$save['response'][2]['id'].'_'.$save['response'][2]['access_key'];}
if($save['response'][3]['owner_id'] != 0){$text .= ',photo'.$save['response'][3]['owner_id'].'_'.$save['response'][3]['id'].'_'.$save['response'][3]['access_key'];}
if($save['response'][4]['owner_id'] != 0){$text .= ',photo'.$save['response'][4]['owner_id'].'_'.$save['response'][4]['id'].'_'.$save['response'][4]['access_key'];}
if($save['response'][5]['owner_id'] != 0){$text .= ',photo'.$save['response'][5]['owner_id'].'_'.$save['response'][5]['id'].'_'.$save['response'][5]['access_key'];}
if($save['response'][6]['owner_id'] != 0){$text .= ',photo'.$save['response'][6]['owner_id'].'_'.$save['response'][6]['id'].'_'.$save['response'][6]['access_key'];}
if($save['response'][7]['owner_id'] != 0){$text .= ',photo'.$save['response'][7]['owner_id'].'_'.$save['response'][7]['id'].'_'.$save['response'][7]['access_key'];}
if($save['response'][8]['owner_id'] != 0){$text .= ',photo'.$save['response'][8]['owner_id'].'_'.$save['response'][8]['id'].'_'.$save['response'][8]['access_key'];}
if($save['response'][9]['owner_id'] != 0){$text .= ',photo'.$save['response'][9]['owner_id'].'_'.$save['response'][9]['id'].'_'.$save['response'][9]['access_key'];}
$request_params = array(
'peer_id' => $user['chat_user'],
'attachment' => $text,
'access_token' => $token,
'v' => '5.81'
);
$date = http_build_query($request_params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $date);
curl_setopt($ch, CURLOPT_URL,"https://api.vk.com/method/messages.send?");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result, 1);
$count = count($fills_mass);
for($i = 0; $i != $fills_mass; $i ++){
unlink('/web/www/site/bot/photo/'.$fills_mass[$i]);
}
//Теперь будет удалться.*/
die('OK');