Mareos de un geek

Mens Geek in Corpore Insano

Menú Cerrar

Función para cargar las imágenes con lightbox

La estructura para cargar galerias de imágenes con la libreria Lightbox JS v2.0 es introducir un enlace por cada imagen, donde indicas la ruta, la descripción y el enlace si procede.

Pues bien, harto de tener que hacer eso en cada una de las galerias he decidido crear una pequeña función en PHP que lee de un fichero el nombre de la imagen y su descripción. El enlace como sólo me gusta ponerlo en la primera se pasa como parámetro y mediante un if controlo que sólo se muestre una vez.

function galeria_fotos($nombre, $enlace) {
√Ç √Ç √Ç // Función que construye los enlaces a las imágenes a partir del nombre de la carpeta y un fichero de log con el nombre de cada imagen y su descripción
   $archivo= "images/".$nombre."/".$nombre.".log";
   $fd=fopen($archivo,"r");
   if (!$fd) {
       echo "ERROR";
       exit(1);
   }
   $i=0;
   while ($str=fgets($fd,200))
   {
       $i++;
√Ç √Ç √Ç √Ç √Ç √Ç √Ç // El nombre de la imagen y la descripción están separados por el carácter :
       $pos=strpos($str,":");
       $fichero=substr($str,0,$pos);
       $descripcion=substr($str,$pos+1,200);
√Ç √Ç √Ç √Ç √Ç √Ç √Ç //Impresión del código HTML.
       if ($i==1) {
           echo '<p><a href="images/'.$nombre.'/'.$fichero.'" rel="lightbox['.$nombre.']" title="'.$descripcion.'">'.$enlace.'</a></p>';
       } else {
           echo '<a href="images/'.$nombre.'/'.$fichero.'" rel="lightbox['.$nombre.']" title="'.$descripcion.'"></a>';
       }
   }
}

Tengo pendiente actualizar el editor de WordPress por otra versión más reciente según puede leerse en el blog de El Bidorto. Lo malo es que lo intente el pasado viernes (haciendo copia de todos los ficheros afectados) y no me acabo de funcionar. Al final he optado por un editor externo: Qumana, con versiones para XP y MacOS. Lo mejor de todo es que con tanto cambio el editor de mi blog original se ha quedado bastante mal parado :D

Las galerias en pleno funcionamiento pueden verse aquí.