Задать вопрос
@crack_user

Как получить лишь 4 фотки из 5+ в ВК?

т.к вк не дает грузить больше 4 фоток, а при загрузке 5+, отправляется лишь первая, как можно получить лишь 4 фотки? Может сделать лимит в цикле при нахождение фотки? Если да - то как? $i == 4?
Текущий код -
$count = count($data->object->message->attachments);//Получаем количество фотографий. 
for($i = 0; $i != $count; $i ++){//Бегаем по всем фотографиям. 
    if($data->object->message->attachments[$i]->type == 'photo' && $colls != 4){
        //Переменные 
        $colls ++;
        //
        $type = $data->object->message->attachments[$i]->photo->id;
        $sizes = $data->object->message->attachments[$i]->photo->sizes;
        $count_size = count($sizes);
        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,'/home/user2/sites/lillego.ml/anon_chat/photo/'.$type.'.'.$tt)) {die('ok');}
        //
        //В массивы 
        $fils = 'file'.$colls;
        $fills_mass[$i] = $type.'.'.$tt;
        $mass_file[$fils] = new CURLFile('/home/user2/sites/lillego.ml/anon_chat/photo/'.$type.'.'.$tt); //$tt получает тип файла. PNG или же JPG - для дольнешего сохранения на сервер.
        //
    }
}

Вот какую ошибку выдает ВК -
Error: Timeout was reached. Attempt 1/5
Error: Timeout was reached. Attempt 2/5
Error: Timeout was reached. Attempt 3/5
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Annikangl
@Annikangl
Backend developer (PHP)
Попробуйте этот код
for($i = 0; $i != $count; $i ++){//Бегаем по всем фотографиям.


Заменить на
$iMax = $count - 1;
for ($i=0; $i <= $iMax; $i++)


Если этот вариант не поможет, то используйте функции для массивов: array_slice, array_pop
Ответ написан
Ваш ответ на вопрос

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

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