Comunidad de diseño web y desarrollo en internet online

Redimensionar y Almacenar varias imagenes simultaneas en BD

Citar            
MensajeEscrito el 11 Ago 2009 03:38 pm
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.

Por metaltoon

3 de clabLevel



 

El Salvador

chrome
Citar            
MensajeEscrito el 11 Ago 2009 06:18 pm
repitan despues de mi
"NO DEBO ALMACENAR IMAGENES EN LA DB"
repite esto 10 veces y luego sigue leyendo


¿ya repetiste las 10 veces? ¬¬ te estoy viendo no hagas trampa

bien, lo que comúnmente se hace es

  • cerciorarte de que tu servidor cuenta con la libreria GD, en la mayoría de los casos viene ya instalada
  • subir una imagen, redimensionarla y crear sus respectivos tamaños,
  • guardarlo en carpeta, para esto usa google y la super global de php $_FILES
  • una ves cargado tomas la ruta y ahí si, guardas solo la ruta de la imagen en la DB, eso es todo

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 Ago 2009 10:45 pm
Gracias por tu respuesta Inyaka!!!!

Fijate que he estado probando la clase class.upload 0.27 y he logrado redimensionar las imagenes y he creado los thumbnails, pero esta clase solo me permite guardar las imagenes en una carpeta. ¿Cómo puedo hacer para pasar la ruta de ambas imagenes a los campos de la Base de Datos? Entiendo que si uso $_FILES puedo saberlo, pero mi gran duda es ¿Cómo logro diferenciar la imagen con tamaño real y la miniatura (thumb), tomando en cuenta que esta segunda se crea partiendo de la primera?

Perdon por la pregunta, pero la verdad es que voy empezando con PHP y me estoy familiarizando con la sintaxis.

Agradeciendote de antemano.

Por metaltoon

3 de clabLevel



 

El Salvador

chrome
Citar            
MensajeEscrito el 13 Ago 2009 03:29 am
el principio de las famosas galerias coopermine
:-D

Por talcual

686 de clabLevel



 

Colombia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.