DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

PHP Flickr! Personal Photo Album

09.27.2006
| 11682 views |
  • submit to reddit
        This code uses your Flickr! account and creates the URLs to the pictures for display on your own personal website! The full documentation is available at http://www.strydominc.za.net/index.php?p=projectdetail&d=phpflickrphoto 

<?php
/**********************************************************************************************
www.strydominc.za.net
Created by Jurgen Strydom, 19-08-2006, jurgen.strydom@gmail.com
Read the readme.txt
Version 1.01, 19-08-2006
**********************************************************************************************/
?>
<link href="pagefloat.css" rel="stylesheet" type="text/css">
<?php
//Stuff you should update for your script
$api_key = "6cacc91553b802874c6bbad658c9ce94"; // get yours at http://flickr.com/services/api/key.gne
$my_id = "46772344@N00"; // use idgetr: http://idgettr.com/ to find yours if you already changed it to a name
$rows = 10;
//Let the code do the walking from here on
$photos = ($rows * 2);
if (empty($_REQUEST['n'])) {
$pagenum = 1;
} else {
$pagenum = $_REQUEST['n'];
}
//http://static.flickr.com/{server-id}/{id}_{secret}_[mstb].jpg //how the url is created for the images
$xml = simplexml_load_file("http://flickr.com/services/rest/?method=flickr.people.getPublicPhotos&user_id=$my_id&api_key=$api_key&per_page=$photos&page=$pagenum");
$total = $xml->photos['total'];
$pages = $total % $photos;
$pages = ($total + $photos - $pages) / $photos;

?><table width="700" border="0" cellpadding="0" cellspacing="0">
<tr><td height="10" colspan="2" valign="top" align="left">Please select a page: <?php
for ($k = 1; $k<=$pages; $k++) { ?>
<table width="25" border="0" cellpadding="0" cellspacing="0" align="center" class="pagefloat"> <?php
?>
  <tr>
    <td width="25" height="10" valign="top" align="center"><a href="photos.php?n=<?php echo $k?>">
	<?php if ($k == $pagenum) {
		 	echo "<u><b>", $k, "</b></u>";
		 } else {
		 	echo "<b>", $k, "</b>";
		 } ?></a></td>
  </tr>
</table>
<?php } 
?>
</td></tr>
<tr>
    <td height="10" colspan="2" valign="top" align="left"> </td>
</tr>
<?php

if (($pagenum * $photos) > $total) {
	$to = $total % $photos;
} else { $to = $photos; }
for ($k = 0; $k<$to; $k++) {
if (($k % 2) == 0) {
?>
<tr>
<td width="350" height="100" valign="top" align="center">
<?php } else {?>
<td width="350" valign="top" align="center">
<?php }
echo "<b>" , $xml->photos->photo[$k]['title'], "</b>";
?>
<br>
<a href="http://www.flickr.com/photos/jurgenstrydom/<?php echo $xml->photos->photo[$k]['id'];?>"><img src="<?php 
echo "http://static.flickr.com/";
echo $xml->photos->photo[$k]['server'];
echo "/";
echo $xml->photos->photo[$k]['id'];
echo "_";
echo $xml->photos->photo[$k]['secret'];
echo "_m.jpg"; 
?>"
alt="<?php echo $xml->photos->photo[$k]['title'] ?>" border="0"></a>
</td>
<?php
if (($k % 2) == 1) {
?> </tr>  <tr>
    <td height="10" colspan="2" valign="top" align="left"> </td>
  </tr>  
  <?php
}
}
?>
</table>
<?php
/**********************************************************************************************
Changelog:

Version 1.01
Fixed a bug that caused code below this script to output incorrect display.

Version 1
First release.
**********************************************************************************************/
?>
    

Comments

Snippets Manager replied on Wed, 2006/09/27 - 11:33am

Snippets Manager replied on Wed, 2006/09/27 - 11:33am

The latest version of this code is available at http://www.flatspike.com/projects/php/php-flickr-personal-photo-album/