Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/08/2011, 01:17
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Uso de imagenes BLOB, de forma dinámica en PHP

Creo que no estás entendiendo la lógica de subir imágenes al servidor.

Cuando usas esto, lo que almacenas en la base de datos es la ruta de la imagen o, simplemente, el nombre con el que se ha almacenado y la ruta la construyes según en qué página la quieras imprimir. Y no hay que hacer ningún tipo de lógica para eliminarla si ha habido error, lo único que tienes que hacer es un buen control de errores. La idea es la siguiente:
Código PHP:
if (existe imagen en formulario) {
    if (
copiar la imagen a mi carpeta de servidor) {
        
/* si entra aquí todo ha ido bien */
        
crear el registro en la base de datos con la imagen
    
} else {
        
/* si entra aquí es que ha habido algún error */
        
control de error
    
}

El control de error puede ser el que tú quieras, por ejemplo, se puede añadir una imagen de error, creada por ti mismo e insertar el registro dirigiendo a esa imagen de error. Con esto solucionamos tu primer error.

Para el segundo error, en el caso de que la imagen se suba y no se cree el registro o en el caso de que el usuario elimine la imagen y se quede sin referencia. Es tan fácil como crearte un script que se ejecute cada cierto tiempo, que pegue un repaso a la carpeta de imágenes y borre aquellas imágenes que no tienen ningún registro asociado. No es un script difícil, de hecho, es bastante sencillo.

Espero que te ayuden mis consejos, quería insistir sobre todo en que no es necesario guardar en BLOB, pero si insistes en hacerlo así, puedes abrir otro post con dudas concretas, ya que aquí igual no te contestan más por mi culpa.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?