За последние 24 часа нас посетили 21545 программистов и 1029 роботов. Сейчас ищут 763 программиста ...

Как скачать документ GIF через vk api?

Тема в разделе "Прочие вопросы по PHP", создана пользователем Den007, 5 мар 2019.

Метки:
  1. Den007

    Den007 Новичок

    С нами с:
    5 мар 2019
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте! Не могу скачать файл из сервера ВК через api vk.

    Логика:
    1. Через метод wall.get извлекаю интересующие мне посты
    2. Извлекаю прямые ссылки на картинки (в моей случае гифф)
    3. Методом copy загружаю данные на свой сервер

    Пробивал этот код для скачивание картинок - всё работает. Проблема только с gif (может и остальными типами документов вк).


    Для скачивание png код ниже работает а для гиф - нет

    PHP:
    1. $file = $imgUrl;
    2. $host=__DIR__.'/new.gif';
    3. if (!copy($file, $host)) {
    4.     echo "не удалось скопировать $file\n";
    5. }
    6. chmod($host, 0777);
    Привал и так:
    PHP:
    1. function imageFromURL($url,$saveto){
    2.     $ch = curl_init ($url);
    3.     curl_setopt($ch, CURLOPT_HEADER, 0);
    4.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    5.     curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    6.     $raw=curl_exec($ch);
    7.     curl_close ($ch);
    8.     if(file_exists($saveto)){
    9.         unlink($saveto);
    10.     }
    11.     $fp = fopen($saveto,'x');
    12.     fwrite($fp, $raw);
    13.     fclose($fp);
    14. }
    15. imageFromURL($url, $saveUrl);
    Если сохранять png то все ок. Если после получения прямой ссылки на гифку (wall.get) открыть ее вручную в браузере то она открывается а если через cURL то сервер вк видает 404.
    Я так понял Вк генерирует для каждого пользователя уникальный прямой адрес на ГИФКУ. Наверное нужно как то подтверждать в cURL что ты авторизован

    Может кто то помочь или скинуть аналогичный скрипт.
    Буду благодарен!