← Вернуться к списку тем

Как организовать групповое копирование фото на сервер

Организовал функцию копирования фото на свой сервер, 
но как сохранить фотографии если пользователь за один раз отправил несколько фото.
Есть [media_group_id] но как его использовать не могу сообразить, поисковик тоже не дал результатов.	

        function savePhoto($file_id, $chat_id)    {

		$ch = curl_init($GLOBALS['api'] . '/getFile?file_id='.$file_id);  
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($ch, CURLOPT_HEADER, false);
		$res = curl_exec($ch);
		curl_close($ch);
 
		$res = json_decode($res, true);

		$file_path = $res['result']['file_path']; 
		
		$file_url = 'https://api.telegram.org/file/bot' . TOKEN . '/' . $file_path;		

		$name_file = end(explode("/", $file_path));  
	
		$save_file = __DIR__ . "/images/$chat_id/" . $name_file;

		file_put_contents($save_file , file_get_contents($file_url));
	
		sendMessage($chat_id, " Фото скопировано ", $replyMarkup);
	
	}

Авторизуйтесь через Telegram, чтобы оставить комментарий.
Откройте по ссылке или QR бот @iMakeBot, нажмите кнопку Старт/Start.
Следуйте инструкциям бота.

  • iMakeBots [1 год назад]

    Медиа будут приходить как обычные фото или видео, с одним отличием - это наличие параметра media_group_id

  • Vlad [1 год назад → iMakeBots]

    Можно попросить подробнее показать. Потому что у меня это не срабатывает, при групповой отправке фото, на сервер копируется только одна фотография из группы.

  • iMakeBots [1 год назад → Vlad]

    Там показывать то нечего)) вы отправляете медиагруппу из 10 файлов - на сервер придет от телеграм 10 сообщений с данными по каждому медиа но у каждого будет дополнительный параметр

  • Vlad [1 год назад → iMakeBots]

    Разобрался почему у меня загружалось только одно изображение из группы, после первой проверки что пришло я чистил состояние бота, поэтому далее код уже не срабатывал.

  • Vlad [1 год назад → iMakeBots]

    Ещё один вопрос ! Можно ли как то на начальном этапе определить сколько фотографий в [media_group_id] ? Нужно это для того что бы понимать когда придёт последнее фото из группы, чтобы перейти к следующему этапу работы бота.

  • iMakeBots [1 год назад → Vlad]

    К сожалению нет)))