Foros del Web » Programando para Internet » PHP »

Redimensionar y Almacenar varias imagenes en BD

Estas en el tema de Redimensionar y Almacenar varias imagenes en BD en el foro de PHP en Foros del Web. Hola amigos!!!!! Estoy dando mis primeros pasos con PHP y MySQL, y necesito de su ayuda para poder finalizar mi primer proyecto. Estoy trabajando en ...
  #1 (permalink)  
Antiguo 11/08/2009, 09:45
 
Fecha de Ingreso: agosto-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Redimensionar y Almacenar varias imagenes en BD

Hola amigos!!!!!

Estoy dando mis primeros pasos con PHP y MySQL, y necesito de su ayuda para poder finalizar mi primer proyecto. Estoy trabajando en un sitio para Clasificados, encontré muchos scripts, pero ninguno se adaptaba a lo que el cliente me pedía, por lo que tenido que desarrollarlo desde cero. Resulta que tengo problemas para la carga de imagenes en la Base de Datos, les comento los requerimientos:

1. Se habilitará un formulario donde el usuario podrá subir de manera simultanea hasta 5 imagenes (.jpg .gif o .png)

2. El sistema deberá redimensionar las imagenes (por ejemplo a 400 px de alto, el ancho seria proporcional) y las deberá copiar en una carpeta (images/img_clas) almacenando solamente la URL en el campo correspondiente de la Base de Datos (Los campos estan definidos como Blob).

3. Adicionalmente se deberá crear un thumb (de 100 px de alto y ancho proporcional) y se deberá copiar en una carpeta (images/img_clas/thumbs) almacenando tambien la URL en el campo de la Base de Datos.

4. En caso que el usuario no suba imagenes estas deberán ser sustituidas por una imagen generica con el logo de la empresa.

Hasta el momento solo he logrado subir una imagen, pero en tamaño real (aun no he podido redimensionarla) y logré hacer el thumb pero almacenandolo directamente en el campo Blob de la Base de Datos (lo cual no deseo). Intenté colocarlo en un for pero no se adonde estoy fallando, porque cree un bucle infinito.

He usado la libreria GD2, y aunque he conseguido una gran cantidad de clases que me permiten hacer esto, no he encontrado una que me proporcione todas estas opciones que deseo implementar o por mi inexperiencia, no he logrado adaptar. He leido libros y tutoriales pero la verdad es que ya no se por donde buscar, por eso necesito de su ayuda para que me puedan orientar.

Agradeciendoles de antemano.
  #2 (permalink)  
Antiguo 11/08/2009, 10:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Redimensionar y Almacenar varias imagenes en BD

Cita:
solamente la URL en el campo correspondiente de la Base de Datos
no veo necesario crear un campo blob, crea un varchar.

Para crear redimensionar o crear thumbnails de manera proporcional (alto y ancho ) puedes utilizar esta clase:

http://www.mascodigo.com/creacion-de...s-con-php.html

Hay un ejemplo de uso en la página.

----

Cita:
En caso que el usuario no suba imagenes estas deberán ser sustituidas por una imagen generica con el logo de la empresa
Si utilizas varios campos varchar para guardar la url de la imagen y del thumbnails, podrías simplemente comprobar si este campo esta vacío, de ser así, el usuario no subió una imagen.

----

A modo de resumen, creo que deberias hacer lo siguiente:

1.- Formulario html para introducir datos y subir imagenes.

2.- Obtener los datos del formulario, filtrarlos y guardar las imagenes en un directorio temporal.

3.- Redimensionar las imagenes, copiarlas a su directorio final y borrar los archivos temporales.

4.- Guardar en la base de datos, los datos recibidos y el nombre de la imagen ( si la url siempre es la misma, ¿ para que repetir este dato ? ).

5.- Si todo es correcto, enviar un mensaje de ok.
__________________
----
http://www.mascodigo.com
  #3 (permalink)  
Antiguo 11/08/2009, 10:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redimensionar y Almacenar varias imagenes en BD

Gracias por tu pronta respuesta, voy a revisar la clase que me comentas...
  #4 (permalink)  
Antiguo 11/08/2009, 10:59
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Redimensionar y Almacenar varias imagenes en BD

Hola buenas tardes.

Creo que he ido a a parar al sitio adecuado.

Llevo como una semana con este mismo tema y la verdad que poco a poco me voy enterando del concepto pero otra cosa es la programación, he este foro he encontrado bastantes cosas pero todo lo que he intentado no me ha funcionado, como veo que es un tema que se esta tratando hoy si no les importa me unire a el, y asi espero que podamos matar a dos pajaros de un tiro como se suele decir.

Ire por partes, lo que quiero lo tengo claro lo que no se es como aplicarlo.

Quiero tener la posibilidad de subir cuatro fotos a mi servidor por cada ficha de producto.

Pasos que creo que tengo que seguir.

1.- Subir foto a un directorio temporal en el servidor
2.- Duplicar la foto renombrar y redimensionar una a 640x480 y la segunda a 160x120
3.- En una carpeta "Fotos" crear un directorio por cada registro "ID"
4.- Guardar las fotos en el directorio que les corresponda
5.- Crear entrada en la base de datos Mysql de donde se han guardado las fotos tanto las grandes como las pequeñas.

Eso es a grandes rasgos lo que pretendo hacer.

Por el momento tengo los input en una página llamada alta.php

Alguna idea o sugerencia de por donde tengo que ir?

El planteamiento es bueno?

Muchas gracias de antemano.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.