0
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()

4

1 回答 1

0

您可以充当 URL 代理,而不是先下载文件然后提供它。当您动态下载和提供数据时,您还可以将本地服务器上的内容写入文件或作为数据库中的 BLOB。此外,您可以增加超时限制以避免超时。

于 2013-09-18T17:19:38.160 回答