Я занимаюсь разработкой программы для загрузки видео с YouTube, и у меня возникла странная проблема с загрузкой видео с URL-адреса на клиент пользователя: я извлекаю URL-адрес видео-данных из 'https://youtube.com/get_video_info' и загружаюон напрямую к клиенту пользователя (используя readfile()
), и он просто загружается так медленно, как это должно быть, и небольшими кусками.
Например, предположим, у меня есть URL-адрес с видеоданными, иЯ пытаюсь сохранить его в виде файла через браузер, вот так выглядит процесс загрузки:
И когда я пытаюсь загрузить его, используя мой PHP-скрипт(перечислены ниже):
важно сказать, что медленная загрузка происходила также, если я пытаюсь загрузить видео через кнопку «Загрузить» в проигрывателе:
Так что, я думаю, это не проблема в моем коде, а плохое отношение к достижению цели.
$download_url = "...";
$file_size = filesize($download_url);
$file_name = "title";
header('Content-Type: audio/mpeg');
header('Connection: keep-alive');
header('Content-Length: ' . $file_size, true);
header("Accept-Ranges: bytes");
header("Content-Transfer-Encoding: binary");
header('Content-Disposition: attachment; filename="' . $file_name . '.mp3"');
ob_clean();
flush();
if (ob_get_level()) {
ob_end_clean();
}
readfile($download_url);
exit();
Я предполагаю, что в процессе загрузки в стиле чанков что-то есть,но это всего лишь предположение.Спасибо за помощь:)