【问题标题】:Get a remote FLV using PHP and curl使用 PHP 和 curl 获取远程 FLV
【发布时间】:2009-12-06 15:41:34
【问题描述】:

我想知道是否可以使用 PHP 和 exec 函数获取远程 flv 文件并使其“流式传输”。我的环境中有“卷曲”,所以我想要类似的东西:

exec ('curl http://myhosts.com/myflv.flv', $out);
print $out;

问题是 $out 作为数组返回;我想输出 curl 返回的“原始”流。

【问题讨论】:

    标签: php curl exec


    【解决方案1】:

    您应该能够为此使用fpassthru(),尽管将用户重定向到正确的 URL 可能会更好。

    $fp = fopen('http://myhosts.com/myflv.flv', 'rb');
    fpassthru($fp);
    

    或重定向:

    header('Location: http://myhosts.com/myflv.flv');
    

    想想看,你应该还能用readfile()

    readfile('http://myhosts.com/myflv.flv');
    

    无论如何,如果您可以简单地重定向用户,请这样做。效率更高。

    【讨论】:

    • 嗯,第一个选项似乎有效。我的下一个交易是 PHP 执行最大超时;如果我的 flv 真的很大,php 显然会超时。您认为还有什么替代方案?
    • 首先,当您说“my flv”时,我假设您仍在谈论远程文件。如果该文件可在本地访问,您绝对应该在本地访问它。其次,虽然使用Location 标头重定向仍然是首选方法,但我的理解是最大执行超时无法停止 PHP 函数的执行,因此它无法停止 readfile()fpassthru()
    • FLV 托管在另一台服务器上,我必须通过网络访问它们的唯一方法...将尝试您的建议。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多