如何使用php获取流式传输的内容。
例如:
http://www.youtube.com/get_video_info?&video_id=Wd9WOxJXQq4
我尝试获取内容,但缺少大量数据。
如何读取整个文件,从上面的URL返回所有数据?
function curlGet($URL) {
if ($stream = fopen($URL, 'r')) {
echo '<pre>';
echo urldecode(urldecode(urldecode(stream_get_contents($stream))));
fclose($stream);
echo '</pre>';
}
}
echo curlGet('http://www.youtube.com/get_video_info?&video_id=Wd9WOxJXQq4');
答案 0 :(得分:3)
为什么三重 -urldecode? p>
您展示的网址不是流,而是明文。
使用更易于处理的JSON API:
http://gdata.youtube.com/feeds/api/videos/Wd9WOxJXQq4?v=2&alt=json
<?php
$json = json_decode(trim(file_get_contents(
'http://gdata.youtube.com/feeds/api/videos/Wd9WOxJXQq4?v=2&alt=json'
)));
print_r($json);
To&#34; restream&#34; youtube内容,然后您使用json对象中相应的Url属性并继续使用fgets()
,并使用ob_flush(); flush();
将其以块的形式刷新到浏览器。