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

Сохранения видео

Нужно сохранить видео (фото сохраняет), читал , что тоже самый код для этого.
Делал по примеру, заменил вместо photo на video
Что не так сделал?

$this->getPhoto1($data['message']['video'])."Видео добавлено! ";

function getPhoto1($data)
{
// берем последнюю картинку в массиве
$file_id = $data[count($data) - 1]['file_id'];
// получаем file_path
$file_path = $this->getPhotoPath1($file_id);
// возвращаем результат загрузки фото
return $this->copyPhoto1($file_path, $chat_id);
}

// функция получения метонахождения файла
function getPhotoPath1($file_id) {

// получаем объект File
$array = json_decode($this->requestToTelegram(['file_id' => $file_id], "getFile"), TRUE);
// возвращаем file_path
return $array['result']['file_path'];
}

// копируем фото к себе
function copyPhoto1($file_path) {

// ссылка на файл в телеграме
$file_from_tgrm = "https://api.telegram.org/file/bot". TOKEN ."/".$file_path;
// достаем расширение файла
$ext = end(explode(".", $file_path));
// назначаем свое имя здесь время_в_секундах.расширение_файла
$name_our_new_file = time().".".$ext;

return copy($file_from_tgrm, "img/".$name_our_new_file);
}

Ответы


  • Андрей Грузчик [08.06.2022 в 03:57 → Андрей Грузчик]
    Зря написал, до этого искал везде, не мог понять, как написал нашел ошибку.

    Вместо:
    $this->getPhoto1($data['message']['video'])."Видео добавлено! ";
    Это:
    $this->getPhoto1($data['message']['video']['file_id'])."Видео добавлено! ";

    Это убираем:
    $file_id = $data[count($data) - 1]['file_id'];

    И тут пишем вместо $file_id -> $data:
    $file_path = $this->getPhotoPath1($file_id);

    Полный код:

    $this->getPhoto1($data['message']['video']['file_id'])."Видео добавлено! ";

    function getPhoto1($data)
    {

    // получаем file_path
    $file_path = $this->getPhotoPath1($data);
    // возвращаем результат загрузки фото
    return $this->copyPhoto1($file_path, $chat_id);
    }

    // функция получения метонахождения файла
    function getPhotoPath1($file_id) {

    // получаем объект File
    $array = json_decode($this->requestToTelegram(['file_id' => $file_id], "getFile"), TRUE);
    // возвращаем file_path
    return $array['result']['file_path'];
    }

    // копируем фото к себе
    function copyPhoto1($file_path) {

    // ссылка на файл в телеграме
    $file_from_tgrm = "https://api.telegram.org/file/bot". TOKEN ."/".$file_path;
    // достаем расширение файла
    $ext = end(explode(".", $file_path));
    // назначаем свое имя здесь время_в_секундах.расширение_файла
    $name_our_new_file = time().".".$ext;

    return copy($file_from_tgrm, "img/".$name_our_new_file);
    }