foreach($streams as $stream) {
parse_str($stream, $data);
if(stripos($data['type'], $format) !== false && stripos($data['quality'], 'small') !== false) {
$video = fopen($data['url'] . '&signature='.$data['sig'], 'r');
$file = fopen($_GET['id'] . '.flv', 'w');
stream_copy_to_stream($video, $file);
fclose($video);
fclose($file);
echo echo_video($id);
exit;
}
}
我正在制作一个YouTube下载器,出于某种原因,转换(质量最小)很小,我的服务器超时。有没有办法用fopen()
替换这些file_put_contents()
?
答案 0 :(得分:0)
您可以充当URL代理,而不是首先下载文件然后提供它。在动态下载和提供数据时,您还可以将本地服务器上的内容写入文件或作为数据库中的BLOB。此外,您可以增加超时限制以避免超时。