我正在开发一个用于从youtube下载视频的程序,但是在将视频从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();
我猜想它对块式下载过程有所帮助,但这只是一个猜测。 感谢您的帮助:)