有没有办法加快这个代码? fopen()太多了

时间:2013-09-18 17:05:26

标签: php fopen

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

1 个答案:

答案 0 :(得分:0)

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