RkBlog

Hardware, programming and astronomy tutorials and reviews.

Integracja galerii astrofotek na flickr.com z własną stroną internetową

Flickr.com to świetny serwis do umieszczania własnych zdjęć - za darmo i w popularnym serwisie. Za pomocą Flickr API można np. wyświetlać na własnej stronie listę ostatnio wrzuconych zdjęć.

Flickr.com to największa "galeria zdjęć" na świecie. Każdy za darmo może się zarejestrować i wrzucać tam swoje zdjęcia i krótkie klipy filmowe. Serwis ten jest świetny do przetrzymywania astrofotografii. Zdjęcia umieszczone we Flikrze możemy także wyświetlać na własnej stronie internetowej. Jeżeli mamy dostęp do PHP5 na serwerze (nie powinno być z tym problemu) to możemy za pomocą prostego skryptu wyświetlać np. najnowsze zdjęcia z wybranego albumu.

Oto prosta klasa pobierająca ostatnie zdjęcia z podanego albumu
<?php
// to się nie zmienia
class flickr
{
public function __construct($api_key)
	{
	$this->api_key = $api_key;
	}
public function getPhotos($photoset_id)
	{
	$x = simplexml_load_file('http://www.flickr.com/services/rest/?method=flickr.photosets.getPhotos&extras=url_sq,url_o&photoset_id='.$photoset_id.'&api_key='.$this->api_key);
	$ret = array();
	foreach($x->photoset->photo as $res)
		{
		$ret[] = array('id' => (int)$res['id'], 'title' => (string)$res['title'], 'sq' => (string)$res['url_sq'], 'orig' => (string)$res['url_o']);
		}
	return $ret;
	}
}

// przykładowe wykorzystanie
$owner = 'TUTAJ ID UŻYTKOWNIKA';
$a = new flickr('KLUCZ API');
$pics = $a->getPhotos('ID ALBUMU');

foreach($pics as $pic)
	{
	print '<a href="http://www.flickr.com/photos/'.$owner.'/'.$pic['id'].'/." title="'.$pic['title'].'"><img src="'.$pic['sq'].'" alt="'.$pic['title'].'" /></a>';
	}
Żeby skrypt zadziałał potrzebujemy: Po podaniu wszystkich danych wyświetlona zostanie lista miniatur ostatnio dodanych zdjęć do albumu (photostream):
flickastro
Można oczywiście wyświetlać zdjęcia z kilku albumów na jednej stronie. API Flickra jest szerokie i można także np. wyświetlać zdjęcia wyszukane po danej frazie kluczowej, wystarczy trochę wiedzy lub pomocy programistycznej. W razie pytań pisz śmiało ;)

Do niektórych CMSów dostępne są moduły integrujące różne opcje Flickra - jeżeli korzystasz z popularnego CMSa to taki moduł może ułatwić ci życie :)

RkBlog

17 November 2009;

Comment article