【问题标题】:Is there any way to speed this code up? Too many fopen()'s有什么办法可以加快这段代码的速度吗? fopen() 太多
【发布时间】:2013-09-18 17:05:26
【问题描述】:
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 下载器,但由于某种原因,转换(最低质量)非常小,以至于我的服务器超时。有没有办法用file_put_contents() 替换这些fopen()

【问题讨论】:

    标签: php fopen


    【解决方案1】:

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

    【讨论】:

    • 我增加了超时时间。我该怎么做你说的第一件事?听起来很有趣。
    • 我需要发送标头吗?
    • 是的,表示文件的类型和大小。
    猜你喜欢
    • 2020-03-05
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2015-10-08
    • 2023-04-10
    相关资源
    最近更新 更多