@hesy

Как отдать на скачивание файл в браузер?

Есть ссылка на видео: https://api2.musical.ly/aweme/v1/playwm/?video_id=...

Если по ней перейти, то срабатывает редирект на другую ссылку: v19.tiktokcdn.com/6aa0db468e249cb90fa9d2c80a96deea...

У меня есть следующий файл с таким кодом:
download.php
<?php

if (isset($_GET['video']))
{
    $ch = curl_init($_GET['video']);

    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1)
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);

    curl_close($ch);

    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment; filename=video.mp4");
    echo $output;

    die();
}


Я пытаюсь скачать файл следующим образом:
https://example.com/download.php?video=https://api2.musical.ly/aweme/v1/playwm/?video_id=v09044530000bqsiqd8lths38b053nrg


Качается битый файл с весом в 1кб, но если ему передать конечную ссылку которая после редиректа, файл сохраняется корректно.

Вопрос, как при переходе по ссылке отобразить диалоговое окно с предложением сохранить файл?
Вроде FOLLOWLOCATION указал, но в чем проблема не пойму.
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
@galaxy
User-Agent пропишите
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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