My Blog

contains PHP and other web related content. (Sometimes there are some off topic things - don't freak out!)

Posts Tagged ‘xml’

Displaying the Most Popular Youtube Videos with PHP

Monday, October 19th, 2009

During one of my random dreams of how to become an internet millionaire, I thought about displaying the top youtube videos on an aesthetically pleasing backdrop.

While I’m not feeling that artsie right now, I did code together a quick script to do this using SimpleXML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
function embed($src)
{
    return '<object width="560" height="340"><param name="movie" value="' . 
            $src . '"></param><param name="allowFullScreen" value="true"></param>
            <param name="allowscriptaccess" value="always"></param><embed src="' . 
            $src . '" type="application/x-shockwave-flash" allowscriptaccess="always" 
            allowfullscreen="true" width="560" height="340"></embed></object>';
}
 
$xml = simplexml_load_file('http://gdata.youtube.com/feeds/base/standardfeeds/most_popular');
 
echo '<h1>Most Popular YouTube Videos</h1>';
print '<h2>' . date('F jS, Y', strtotime($xml->updated)) . '</h2>';
 
echo '<table>';
foreach ($xml->entry as $entry) {
    $link = str_replace('watch?v=', 'v/', $entry->link[0]['href']);
    echo '<tr><td>';
 
    echo embed($link) .  '<br />';
    echo "<a href='$entry->link[0]['href']'>{$entry->title}</a>";
 
    echo "</td></tr>";
}
echo '</table>';

Real brief analysis: The function embed() is used to generate the code to embed the video. The first step is loading the file with simplexml_load_file(). (Do keep in mind to make sure you can remotely open a file in php.ini). Next, I generated the title and created a header based on the last time the xml file was updated. The final step was to create a table and generate a loop to display each embedded video with a link to its source (see usage of the embed() function there? yeah….).

  • twitter loader

Follow me on twitter: @aaronsaray

The views on this website are my own and do not reflect the opinions of my employer or clients.
Creative Commons License Home | Open Source | Book | Music | Art | Bio | Resume | Contact
My Baby