Nel post precedente abbiamo creato l’URL di richiesta:
$url = “http://api.flickr.com/services/rest/?”.implode(’&’, $encoded_params);
Adesso bisogna chiamare l’API di flickr:
# chiama l’API e decodifica la risposta
$rsp = file_get_contents($url);
# se flickr non risponde, viene generato un messaggio d’errore
if (!$rsp){
echo “Errore di connessione.”;
# se flickr risponde, accede all’array in formato json
# e costruisce la pagine html
}else{
$rsp_obj = unserialize($rsp);
# verifica la risposta
if ($rsp_obj['stat'] == ‘ok’){
# numero di fotografie in archivio
$num_photos = $rsp_obj['photos']['total'];
echo “numero di fotografie: ” . $num_photos . ” – “;
# numero di pagine
$num_pages = $rsp_obj['photos']['pages'];
echo “numero di pagine: ” . $num_pages . ” – “;
# numero di fotografie per pagina
$perpage = $rsp_obj['photos']['perpage'];
echo “foto per pagina: ” . $perpage . “; “;
# numero di pagina
$this_page = $rsp_obj['photos']['page'];.
echo “pagina: ” . $this_page . “. <br /><br />”;
# con questo ciclo si accede all’array ‘photo’
foreach($rsp_obj['photos']['photo'] as $photo){
# le variabili a disposizione sono le seguenti
# $photo['title'], $photo['id'], $photo['secret'],
# $photo['server'], $photo['farm']
# $photo['owner'], $photo['ownername']
$photo_page = ‘http://www.flickr.com/photos/’;
$photo_page .= $photo['owner'] . ‘/’ . $photo['id'] . ‘/’;
$thumb_src = ‘http://farm’.$photo['farm'].’.static.flickr.com/’;
$thumb_src .= $photo['server'].’/’.$photo['id'].’_’.$photo['secret'];
$thumb_src .= ‘_’.$size.’.jpg’;
$photo_link = http://farm’.$photo['farm'].’.static.flickr.com/’;
$photo_link .= $photo['server'].’/';
$photo_link .= $photo['id'].’_’.$photo['secret'].’.jpg’;
# a questo punto generiamo il codice HTML
echo ‘<a href=”‘.$photo_link.’” title=”‘.$photo['title'].’”>’;
echo ‘<img src=”‘ . $thumb_src . ‘” title=”‘ . $photo['title'] . ‘” />’;
echo ‘</a>’;
}
}
Fine. Come ho avvertito in un commento al post precedente, questo template corregge single quotes e double quotes, quindi consiglio vivamente di non praticare il copia-e-incolla, onde evitare errori.
Non rimane altro da aggiungere. Buon divertimento
