Imágenes Flickr en tu Web con PHP y MagpieRSS
Una de esas clases que son recomendadas por todos, tanto por su facilidad de uso como por su potencia, es sin duda Magpie RSS. En este artículo vamos a ver como emplearla para crear una sencilla Galería de imágenes (almacenadas en Flickr) en nuestra web.
Para ello vamos a crear una pequeña función PHP (muy sencilla) que nos permitirá:
- Actualizar la galería conforme se suban las fotos a flickr
- Parsear cualquier feed de Flickr (tags, grupos, pools, usuarios, etc.)
- Mostrar el número de imágenes que deseemos, y
- Cambiar las dimensiones de las fotos (recuerde que Flickr ofrece distintos tamaños)
Y todo, únicamente modificando tres valores.
Pueden ver el ejemplo final (con unos toques de de color).
Sobre MagpieRSS
MagpieRSS es una clase muy potente y ese es el motivo por el cual aún sigue en boga a pesar de existir otras muy buenas clases PHP para el mismo fin. Desde hace buen tiempo la vengo utilizando, incluso en el blog publique un sencillo lector RSS, que con el cambio de servidor ha dejado de funcionar, pero que pronto corregiré. Si tienen interés sobre como crear un lector de RSS con MagpieRSS, xlwebmasters ha publicado un sencillo tutorial.
Sobre Flickr, sus feeds y su API
Flickr se ha convertido en un modelo de aplicaciones web 2.0 y como digna embajadora de ello, comparte su API con todos los usuarios que quieran emplear sus servicios en su propio dominio. De esta manera, reutilizando la API de flickr, se pueden crear muchísimas aplicaciones interesantes: Galerías, Mashups, Flogs y más.
Sin embargo, el uso de esta API la dejaremos para luego; porque además, Flickr proporciona feeds para casi todo lo que almacena: Hay feeds para los usuarios, para los tags, para los grupos, para los pools, para los comentarios, para las noticias. Si hay un feed que no proporciona Flickr es únicamente interesting, pero esto también tiene su solución.
La Función PHP: mostrarImagenesFlickr()
Esta función es muy sencilla y cada línea del script esta comentada, por lo que no voy a extenderme explicándola. Sólo mencionar algunos puntos para comprender como utilizar Magpie RSS, algo de expresiones regulares, como se cambia el tamaño a las imágenes y como se imprime el html.
- Uso de Magpie RSS: Para saber como parsear RSS, primero hay que conocer como se estructura. Este artículo publicado en vfpnetwork lo explica claramente.
- Expresiones regulares: Cómo verán, la función utiliza expresiones regulares. Principalmente porque la URL de la imagen a mostrar, viene dentro de un texto de descripción en los feeds. Por lo que utilizaremos la función preg_match() para ubicar la URL de la imagen y recuperarla. También, dejamos la opción para que recuperen (si lo necesitan) el nombre del autor de la imagen y su email.
- Cambiando las dimensiones de las imágenes: Si son usuarios de Flickr sabrán que ésta proporciona 5 distintos tamaños por cada imagen, los cuales tienen similar URL con la única diferencia de tener uno ó dos caracteres adicionales ó distintos al final del nombre (por ejemplo: _s ó _m). Este artículo publicado en tyrannosaurusreflex lo explica claramente.
Por ello, para hacer los cambios de tamaño, simplemente utilizaremos la función str_replace() y dado el valor que le proporcionemos, cambiará los caracteres necesarios. - Imprimir el html: Desde su inicio, la función mostrarImagenesFlickr() va almacenando los valores y etiquetas HTML en una variable, llamada oportunamente: $html, para ello se hace uso del operador “.=”.
Cómo reutilizar el código
La función mostrarImagenesFlickr() de por sí se liga a la clase MagpieRSS, por lo que no será necesario invocarla. Simplemente basta con dar los valores a las variables claves de la función y llamarlla. Añade esto en el fichero que mostrará la galería:
<?php
require_once("flickr_fns.php");
$feed = 'URL_DEL_FEED';
$dimension = "cuadrado";
$numero = 16;
motrarImagenesFlickr($feed,$dimension,$numero);
?>
Cómo ven, es muy sencillo parsear feeds y crear cosas interesantes con ellos. Si no han descargado el código fuente para que lo prueben, pueden hacerlo del enlace de abajo. Espero les sirva.
Enlace | Ejemplo de Galería Flickr
Descargar | Código fuente





umm descargue el codigo y no hay nada... haber si verificas la descarga mennnn
- responder
Enviado por 85bytes.com (no verificado) el Jue, 10/05/2006 - 10:11.Acabo de verificar la descarga y todo esta perfecto. Por cierto, si usas IE debes deshabilitar el filtro de popups para la descarga. Si usas FF no tendrás ningún inconveniente. Si continua el problema házmelo saber.Saludos.
- responder
Enviado por Balú (no verificado) el Jue, 10/05/2006 - 10:18.Warning: main(../Connections/connBlog.php) [function.main]: failed to open stream: No such file or directory in /home/baluart/public_html/descarga/descarga.php on line 2
Fatal error: main() [function.require]: Failed opening required '../Connections/connBlog.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/baluart/public_html/descarga/descarga.php on line 2
- responder
Enviado por Pablo (no verificado) el Mié, 03/19/2008 - 02:34.Estamos renovando nuestro sitio, por ello los enlaces rotos. Ya esta todo resuelto. Saludos, y espero te suscribas al blog para que recibas más notas como esta.
Saludos.
- responder
Enviado por baluart el Mié, 03/19/2008 - 04:37.mmm una pregunta, se puede hacer que muestre todas las fotos de mi galeria flickr paginada? osea mostrar unas 12 fotos aprox por pagina.
gracias
- responder
Enviado por Diego Plencovich (no verificado) el Lun, 04/07/2008 - 16:51.Deja tu comentario