Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/05/2006, 01:47
Computer XTress
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Hola qué tal?

Bueno, no lo digo para que discutamos por demás, pero yo tengo un punto de vista diferente al de calchis. ME PARECE A MI que es mejor utilizar por BD. De hecho cuando tuve que hacer galerias (al estilo myspace de MSN, con un combo box que permite al usuario elegir una galeria, y toda esa bola) lo hice con BD... en vez de acceder a disco y leer decenas de archivos, lo haces sobre la base de datos que va a resultar más rapido.

Mi esquema era el siguiente:

Cada usuario puede crear un "ESPACIO". Cada espacio puede tener diferentes "GALERIAS"... entonces tenia:

Tabla 1: Galerias_x_espacio
Tabla 2: Fotos_x_galeria

Cuando ingresan los visitantes a un espacio, a la seccion "Galerias de fotos" se cargaba la tabla "Galerias_x_espacio" mostrando en un combo box las galerias, a su vez, se cargaban las fotos de la ultima galeria creada con fotos_x_galeria.

Los usuarios podian crear 1 galeria, agregar fotos(upload), ponerles titulos, cambiarles el titulo, cambiar la foto, borrar una foto.

Esto seguro vos tambien lo vas a querer... entonces, el tema es que cuando un usuario quiere subir una nueva foto necesitas manipular el nombre (¿que pasa si ya existe la foto? ¿Como se si ya existe? ¿Como le cambio el nombre?)
Si lo haces con archivos tenes que manejar todo esto en disco... buscar un archivo, cambiarle el nombre, borrar un archivo, etc, etc.

Si usas una base de datos todo el registro lo llevas ahi, y solo usas el disco cuando SABES que lo necesitas.. entonces, asi tenia yo la tabla "fotos_x_galeria"

id_foto id_galeria id_espacio titulo archivo

Cuando el usuario queria ingresar una nueva foto, hacia el upload pero el script le cambiaba el nombre por algo como $nombre_de_espacio."-".$foto_num."."$extension. Con esto ya me aseguraba de nunca tener cosas duplicadas, por más que la imagen sea la misma, pero eso ya queda en el usuario.

Para mostrar las fotos o borrarlas lo que hacia era utilizar el campo "archivo" de la tabla... para actualizarlas, con update, simplemente tocaba el campo necesario y si querían actualizar el archivo lo que hacia era uplodear el nuevo archivo, sobre escribir el existente (ojo, aca necesitas manejar permisos), y listo el pollo.

Otro problema que se te puede presentar es que tal vez las imagenes te las muestre siempre desde la CACHE y si las actualizas no te cambian hasta presionar F5, es lo solucionas con los headers (busca en google sobre headers, es relativamente simple, y no tengo el codigo a mano ahora pero eran 3 o 4 lineas de header()'s.

hm... no se que más podes llegar a necesitar... probalo, cualquier cosa chiflame y con lo que pueda te ayudo


UN SALUDO!

PD: Habria que ver que dice chalchis, tal vez hay una buena razon para utilizar todo con carpetas y si es así tal vez queiras utilizarlo.