2012-03-28 4 views
0

Ich habe Probleme beim Anzeigen eines Miniaturbildes mit der Zeit DAUER. Der Code rendert ein Thumbnail aber ohne Zeiten. Auch die Ansichten kommen mit einem Ergebnis von O-Ansichten heraus. Alles andere wird richtig abgeholt.PHP Youtube: Anzahl/Zeit anzeigen Dauerstempel auf dem Miniaturbild-Mechanismus

<?php 
error_reporting(E_ALL); 
$feedURL = 'http://gdata.youtube.com/feeds/api/users/YOURUSERNAME/uploads?max-results=2'; 
$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; 

     // get <yt:duration> node for video length 
     $yt = $entry->children('http://gdata.youtube.com/feeds/api/users/YOURUSERNAME/uploads?max-results=2'); 
     $attrs = $yt->duration->attributes(); 


     // get <yt:stats> node for viewer statistics 
     $yt = $entry->children('http://gdata.youtube.com/feeds/api/users/YOURUSERNAME/uploads?max-results=2'); 
     $attrs = $yt->statistics->attributes(); 
     $viewCount = $attrs['viewCount']; 
     ?> 


     <div class="videoitem" style="height:"> 

     <div class="videotitle" style="float:right; width:220px; "> 
      <h3 ><a href="<?php echo $watch; ?>" class="watchvideo"><?php echo $media->group->title; ?></a></h3> 
      <p><?php 
     echo sprintf("%0.2f", $length/60) . " min. | 
     {$viewCount} views<br/>\n"; ?> 
     </p> 

     </div> 
     <div class="videothumb" style="height:100px;"><a href="<?php echo $watch; ?>" class="watchvideo"><img src="<?php echo $thumbnail;?>" alt="<?php echo $media->group->title; ?>" width="150px" height="85px" /></a></div> 

     </div>  
<?php $i++; if($i==3) { echo '<div class="clear small_v_margin"></div>'; $i=0; } } ?> 

Antwort

3

Sie geben die falsche URI an die Methode children weiter. Fester Code:

// get <yt:duration> node for video length 
    $yt = $media->children('http://gdata.youtube.com/schemas/2007'); 
    $attrs = $yt->duration->attributes(); 
    $length = $attrs['seconds']; 

    // get <yt:stats> node for viewer statistics 
    $yt = $entry->children('http://gdata.youtube.com/schemas/2007'); 
    $attrs = $yt->statistics->attributes(); 
    $viewCount = $attrs['viewCount']; 
+0

Perfekte Sie hatten Recht. Ich konnte den Fehler beheben und die Ergebnisse waren korrekt. – CodingWonders90

+0

meinst du, es gibt eine Möglichkeit, einen Teil der Beschreibung hinzuzufügen. Vielleicht sechs bis acht Wörter und dann gefolgt von "..." – CodingWonders90

+0

@ jonthecoder2346 Das ist einfach zu machen. Siehe beispielsweise [diese Frage] (http://stackoverflow.com/q/3161816/450449) oder [diese] (http://stackoverflow.com/q/79960/450449). – galymzhan

Verwandte Themen