Come accedere alle API di flickr con Php (Terza parte)

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/&#8217;;
$photo_page .= $photo[‘owner’] . ‘/’ . $photo[‘id’] . ‘/’;

$thumb_src = ‘http://farm&#8217;.$photo[‘farm’].’.static.flickr.com/’;
$thumb_src .= $photo[‘server’].’/’.$photo[‘id’].’_’.$photo[‘secret’];
$thumb_src .= ‘_’.$size.’.jpg’;

$photo_link = http://farm&#8217;.$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 😉

Annunci