Use Picasa RSS Feed to show album on my own website | Just my blog

/dev/random

Use Picasa RSS Feed to show album on my own website

Recently I’ve moved the web albums of my kids from my own webserver to Google Picasa. But… I wanted to keep my nice javascript based carousel :-)

In the current code I already had some PHP-code that creates the content of the carousel using an array. Now I added two new features in the ‘website’.

  1. Config files
  2. Downloading the RSS (XML) feed and cache it
  3. Extract the URLs with the photos from the XML feed.

1. Config files

One ‘global’ config:

<?php
 cacheLocation="/tmp/picasa-cache/";
 $cacheTTL = 60;
?>

Per album I’ve a config.php in that directory, so for example we’ve the following content:

 <?php
  $xmlURL=’http://picasaweb.google.com/data/feed/base/user/k/id/123456970123ASBD1?alt=rss‘;
  $AlbumDescription="Rick de Rijk";
  $PicasaURL="http://picasaweb.google.com/paderijk/Rick";
  $ShortName="rick";
  $xmlFile="$cacheLocation/$ShortName.xml";
?>

2. Download the RSS (XML) feed and cache it:

<?php
# Code that takes care of the caching
#
if (!(file_exists($xmlFile) &&
    (time() – $cacheTTL < filemtime($xmlFile))
  )) {
    //unlink($xmlFile);
    $data = file_get_contents($xmlURL);
    $f = file_put_contents($xmlFile, $data);
  }
?>

3. Extract the URLs with the photos from the feed

<?php
$foto_array = array();
$xml = new SimpleXMLElement($xmlFile, null, true);

$urls = $xml->xpath("channel/item/enclosure/@url");

foreach ($urls as $image_url)
{
  array_push($foto_array, $image_url);
}
?>

That’s all :-)


  • Social

  • By continuing to use the site, you agree to the use of cookies. more information

    The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible and enable advertising to provide you free content. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

    Close