2009-12-06 49 views
0

我想知道是否有可能得到一个远程FLV文件,并把它“流”使用PHP和exec函数。我在我的环境中“卷曲”,所以我想要类似于:使用PHP获取远程FLV和卷曲

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

问题是$ out返回为数组;我想输出curl返回的'raw'流。

回答

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'); 

无论如何,如果你可以简单地将用户重定向,去做。它的效率更高。

+0

好了,第一个选项似乎工作。我的下一个交易是PHP执行最大超时;如果我的flv真的很大,php显然会超时。你会想到另一种选择吗? – Disco 2009-12-06 16:06:40

+0

首先,当你说“我的flv”我假设你还在谈论远程文件。如果文件可以在本地访问,那么您绝对可以在本地访问它。其次,在使用'Location'头仍然是喜欢的方式重定向,这是我的理解是最大的执行超时不能阻止一个PHP函数的执行,因此它不能阻止'ReadFile的()'或'fpassthru()' – 2009-12-06 16:18:33

+0

的FLV的是另一台服务器上托管的,我要访问它们是直通网...会尝试你的建议的唯一途径。谢谢。 – Disco 2009-12-06 16:57:33