Integracja galerii astrofotek na flickr.com z własną stroną internetową
17 November 2009
Comments
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>';
}
- Klucz API - rejestrujemy (za darmo) własną stronę/aplikację :) Dostaniemy API KEY - czyli klucz aplikacji, który wstawiamy do skryptu.
- ID UŻYTKOWNIKA oraz ID ALBUMU - wystarczy wejść na nasz (albo inny album jaki chcemy wyświetlić) album, np: http://www.flickr.com/photos/98476668@N00/sets/72157611603568383/.
- Element linka z @ to ID UŻYTKOWNIKA - 98476668@N00
- Ostatni element - 72157611603568383 to ID ALBUMU

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
Comment article