PHP: Galería simple y rápida de imágenes
07 de Diciembre de 2006 en Programación, PHP
Lecturas: 11,969

Script FotosHace cerca de un año Toni y yo nos planteamos un reto PHP: Queríamos un script php que construyera una galería de fotos según una estructura de directorios dada. El reto era que todo debía estar dentro de un sólo archivo php, con lo que tendríamos una galería de fotos extrarápida: subir unas fotos a internet y enchufarle el script php tiene que ser el único esfuerzo. A partir de ahí, se podía complicar la cosa tanto como quisiéramos, pero manteniedo la base de la facilidad, rapidez e individualidad del archivo.

Editado: Hay una version nueva de este script en Galeria de fotos en un unico script. Consulta la pagina del proyecto para estar atento a novedades.

A medida que ideamos funciones el archivo se fué extendiendo (en líneas de código) pero llegamos a tener una buena funcionalidad en un peso de archivo contenido.
Características:

  • Presentación thumbnail de las imágenes soportadas, recursivamente.
  • El thumbnail se calcula al vuelo para minimizar el ancho de banda utilizado.
  • Al pinchar en una imagen se muestra ésta en estilo ficha, en tamaño grande
  • Se tienen en cuenta acentos y carácteres especiales en el nombre de la imagen.
  • Ordenación alfabética de los elementos en la pantalla thumbnail.
  • Caché del thumbnail automático (el primero que solicita el thumbnail de un directorio genera la caché).
  • Descargar directorios enteros en ZIP.
  • La mayoría de parámetros son fácilmente configurables en la asignación general de variables.

Demostración:

Éste script se está usando actualmente en la sección de fotos de los sitios web LaDragonera y Honda VTR 250 FanSite.

Descarga:

Este script está en una fase muy temprana. Puedes descargarte la versión 0.1b aquí. Atención: El archivo que se abrirá tiene extensión phps. Debéis cambiarlo a php para que os funcione.

Instalación y Uso:

Para usar este script necesitas tener:

  • Servidor web.
  • PHP 4 o superior
  • Librerías gráficas GD 1.8 o superiores
  • Se necesitan derechos de escritura en la carpeta raíz para crear el directorio cache/, o se puede crear a mano dando derechos de escriura al directorio cache/.

Para hacer (TO DO):

  • Reprogramar parte de diseño y visualización. Eliminar el exceso de tablas. Usar CSS.
  • Soportar más tipos de ficheros (aunque sean de distinto tipo)
  • Generar RSS.
  • Hacer que funcione el .htaccess
  • Poner links de anterior y siguiente en la ficha de la imagen
  • Slideshow (por directorio, total, aleatorio)

Historial de Progreso:

  • Toni Soler 10/11/2005
    • Creación de la versión inicial
  • Xavier Arnaus 11/11/2005
    • Tratado de tamaños de la imagen, para identificar si es Horizontal o Vertical.
    • Solución de nombres de archivo en blanco.
  • Toni Soler 11/11/2005
    • Leer archivos con tildes y con espacios en blanco en el nombre.
    • Generar imagen thumbnail al vuelo, manteniendo la proporción de la imagen original. Para la vista previa
  • Toni Soler 30/05/2006
    • Recorrer directorios recursivamente
  • Xavier Arnaus 31/05/2006
    • Englobar items en tablas, i pequeña preparación estètica
    • Autocreación e identificación de la existencia de .htaccess
  • Toni Soler 31/05/2006
    • Incrustar el GIF de directorio como string en base64
    • Soporte y creación de .htaccess
    • Solución de rutas con acentos
  • Xavier Arnaus 01/06/2006
    • Posiblidad de descargarse las carpetas en un ZIP
  • Xavier Arnaus 24/08/2006
    • Corrección para bajar de nivel de consulta del index.php
  • Xavier Arnaus 05/10/2006
    • Inclusión del nombre de la foto en la ficha indiv.
    • Link Trackback a la imagen suelta
    • Link “Volver”
  • Xavier Arnaus 06/10/2006
    • Ordenación de los directorios
  • Xavier Arnaus 04/12/2006
    • Cache para los thumbnails
  • Xavier Arnaus 07/12/2006
    • Parámetro $debug para escribir en un archivo log.txt mediante doLog(”string”);
    • Mejora cache: se identifica la ruta para la cache.
Tag:
 Enviar a Fresqui

Leer los Comentarios

[ # 29 ] Pingback desde La Dragonera :: Informática, Motos, Lletres de Cançons :: » PHP: Galeria simple i ràpida d’imatges [07 de Diciembre de 2006, 05:02]

[…] Algun cop heu tingut la necessitat de pujar unes fotos a algun hosting però us ralla el fet de mostrar-les? Se us fa pesat instalar una galeria sensera per unes quàntes fotos? Doncs avui he publicat a SyntaxError l’script que uso per mostrar les fotos de LaDragonera o les fotos de la Honda VTR 250 FanSite. […]

[ # 1991 ] Comment desde merolhack [25 de Junio de 2007, 12:54]

Hola, quisiera saber que licencia tiene este script, ya que me gustaria adaptarlo a Joomla y a su vez, distribuirlo entre la gente, poniendo que ustedes hizieron el original.

Saludos!!

[ # 1998 ] Comment desde Xavi [25 de Junio de 2007, 07:10]

La licencia es Creative Commons “Reconocimiento - Compartir Igual”. Puedes realizar la adaptación tranquilamente, y me gustaría que me comunicaras dónde estará colgado, sólo para saberlo.

[ # 2042 ] Comment desde javier [26 de Junio de 2007, 02:38]

Hola. Tambien estoy experimentando con joomla y voy a utilizar este script. Si esto esta mal por favor comuniquenlo. Muchas Gracias! Javier www.vbcritical.com.ar

[ # 2052 ] Comment desde Xavi [26 de Junio de 2007, 07:23]

Mal no, para nada. Si tenéis cualquier duda simplemente planteadmela.
Saludos!

[ # 5869 ] Pingback desde La Dragonera » Nou sistema de Fotos a LaDragonera :: Informatica, Motos, Lletres de Cançons [25 de Septiembre de 2007, 02:33]

[…] Tothom sap la meva dèria per la forma d’ensenyar les fotos que tinc penjades a la web. He provat diverses solucions, des de fer servir un programa a part, el Coppermine, com enredar en Toni per crear conjuntament un script ràpid, que el porto fent servir des de fa un parell d’anys. […]

[ # 7148 ] Comment desde Ed [17 de Octubre de 2007, 06:59]

Hola y saludos.
Desde hace un tiempo he estado ensayando con algunas galerias. Pero debido a que sólo lo hago por pasatiempo no tengo contratado algun hosting. tengo algunas galerias, alguna que otra le he metido mano al codigo, pero el probelma siempre es el limite de memoria que me dan los servicios gratuitos que me marca siempre que alguien intenta colgar imagenes de mas de 700 kilobytes o 2200 x1700 pixeles. Esto pasa con cualquier escrip al intentar generar la miniatura.
La pregunta es hay algun escrip o que genere las miniaturas sin gastar tanta memoria????
Gracias.
Bueno la cuesti

[ # 7149 ] Comment desde Ed [17 de Octubre de 2007, 07:04]

Perdon se me olvido especificar que el escrip mas siemple para generar las miniaturas de la galeria necesita 19 megas.
Los hots gratuitos por lo general dan entre 10 y 16 megas como maximo. Por lo mismo subir imagenes grandes es inutil. No es por mi sino por las personas que son tan flojas para redimencionar las imagenes-
espero no molestar.

[ # 7174 ] Comment desde Xavi [18 de Octubre de 2007, 07:45]

El problema de la memoria en estos scripts es siempre el mismo. Si las fotos son muy grandes y el script las debe redimensionar todas, la memoria usada siempre sera muy alta.
Más que buscar un script que sea muy simple, debes buscar scripts que trabajen con caché de servidor, es decir, que el script en cuestión genere una vista de trabajo más reducida y la guarde en su disco, para que todas las siguientes peticiones no carguen el archivo grande y la memoria ocupada sea mucho menor. Éste script trabaja así (la nueva versión aún no cuenta con caché). Y teniendo en cuenta que sólo sirve para presentar las imágenes, no cuenta con upload y así no tenemos el problema que mencionas. De todas formas, acaba fallando por exceso de memoria al intentar generar un archivo ZIP de la carpeta entera siempre que ésta tenga muchos megas, ya sea por tamaño de la foto o cantidad de fotos.

Espero haberte ayudado.

Puedes visitar la página del proyecto y comprobar el funcionamiento de la nueva versión en Página del proyecto del Script para Presentación de Fotos.

Saludos.

[ # 29177 ] Comment desde Killerpostman [20 de Julio de 2008, 09:58]

Siento decir que la interfaz es realmente espantosa y que además no lee correctamente las imágenes acentuadas.Espero que mejoren estos aspectos de cara a la siguiente versión.

[ # 29261 ] Comment desde Xavi [21 de Julio de 2008, 08:19]

Efectivamente, se trata de un simple script que lee del disco y te lo devuelve en HTML. Tienes total libertad para cambiar código! Si lo mejoras avisa ;-)
Sobre las imágenes acentuadas, pues ésta versión no lo hace.
De todas formas puedes ver las nuevas vesiones en Galería de fotos en un único script, porque ésta página tiene ya 2 años ;)

Escribe un Comentario





Estadísticas