【发布时间】:2010-07-14 17:53:47
【问题描述】:
我有一个循环遍历 youtube 提要的结果,它工作正常,但到最后它失败并出现错误:
Warning: main() [function.main]: Node no longer exists in ../youtubereader.php on line 8
Warning: main() [function.main]: Node no longer exists in .../youtubereader.php on line 8
Fatal error: Call to a member function attributes() on a non-object in .../youtubereader.php on line 9
我的代码是:
<?php
error_reporting(E_ALL);
$feedURL = 'http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?max-results=50';
$sxml = simplexml_load_file($feedURL);
$i=0;
foreach ($sxml->entry as $entry) {
$media = $entry->children('media', true);
$watch = (string)$media->group->player->attributes()->url;
$thumbnail = (string)$media->group->thumbnail[0]->attributes()->url;
?>
<div class="videoitem">
<div class="videothumb"><a href="<?php echo $watch; ?>" class="watchvideo"><img src="<?php echo $thumbnail;?>" alt="<?php echo $media->group->title; ?>" /></a></div>
<div class="videotitle">
<h3><a href="<?php echo $watch; ?>" class="watchvideo"><?php echo $media->group->title; ?></a></h3>
<p><?php echo $media->group->description; ?></p>
</div>
</div>
<?php $i++; if($i==3) { echo '<div class="clear small_v_margin"></div>'; $i=0; } } ?>
我的 xml 很好地从 youtube 上回来了,肯定有比它中断的地方更多的结果,任何想法为什么会这样做?
编辑: 在本地测试,使用 wamp,它工作正常。还是不在服务器上。直播,第 24 项之后的缩略图不返回任何缩略图。
【问题讨论】:
-
等待它工作还是失败?
-
直到 24 号我得到那个错误
-
错误指向
<media:group>没有<media:player>(错误指向第8 行)和/或<media:thumbnail>(错误指向第9 行)。并非所有组节点都包含这些节点。 -
是的,我发现它的缩略图没有被返回。它们在我的本地开发机器上,但不在实时服务器上
标签: php simplexml youtube-api