Foros del Web » Programando para Internet » PHP »

PHP BORRA REGISTROS de imagenes PERO EL ARCHIVOS

Estas en el tema de PHP BORRA REGISTROS de imagenes PERO EL ARCHIVOS en el foro de PHP en Foros del Web. Asi es... subo imagenes a la base de datos mysql, pero a la hora de borrar registros se borran de la base de datos pero ...
  #1 (permalink)  
Antiguo 10/01/2014, 08:12
 
Fecha de Ingreso: enero-2014
Mensajes: 5
Antigüedad: 10 años, 3 meses
Puntos: 0
PHP BORRA REGISTROS de imagenes PERO EL ARCHIVOS

Asi es... subo imagenes a la base de datos mysql, pero a la hora de borrar registros se borran de la base de datos pero la imagen queda en el directorio de mi web, como hago para borrar la imagen de mi directorio que se refiere al registro borrado..
si no las borro se me llenaria el host...
ayuda
DE DE YA MUCHAS GRACIAS.
  #2 (permalink)  
Antiguo 10/01/2014, 08:19
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: PHP BORRA REGISTROS de imagenes PERO EL ARCHIVOS

Antes de borrar captura el nombre de la imagen, que debe estar almacenada en algun campo de tu db, almacenas ese valor en una variable y despues con unlink borras el fichero asociado.

http://www.php.net/manual/es/function.unlink.php
  #3 (permalink)  
Antiguo 10/01/2014, 08:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: PHP BORRA REGISTROS de imagenes PERO EL ARCHIVOS

Cita:
Iniciado por proypenweb Ver Mensaje
Asi es... subo imagenes a la base de datos mysql, pero a la hora de borrar registros se borran de la base de datos pero la imagen queda en el directorio de mi web, como hago para borrar la imagen de mi directorio que se refiere al registro borrado..
si no las borro se me llenaria el host...
ayuda
DE DE YA MUCHAS GRACIAS.
Pues es algo lógico.
No existe relación entre lo almacenado en la base respecto de los archivos en servidor. El único vínculo es tu aplicación, por lo que si tu aplicación no procede a borrar el archivo, seguirá estando.
La base sólo contiene los datos que tu insertas. No hace operaciones contra ninguna cosa, es un servidor de datos.
Eres tu, como ya te dijeron, quien tiene que crar el proceso que elimine el archivo del host.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 04/04/2014, 08:46
 
Fecha de Ingreso: julio-2013
Ubicación: Paraguay
Mensajes: 71
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: PHP BORRA REGISTROS de imagenes PERO EL ARCHIVOS

Te dejo el codigo que a mi me funciono, despues de mucho buscar y no encontrar respuestas que realmente trabajen correctamente yo lo hice de esta manera:

Código PHP:
Ver original
  1. <?php
  2.     // Incluimos el archivo para la conexión a la base de datos:
  3.     require_once ("../conexion.php");
  4.     // Definimos la variable para el ID de la foto:
  5.     $id_de_la_foto = $_GET['id'];
  6.     // Creamos la cadena SQL para mostrar la foto aprobada:
  7.     $foto_a_eliminar = mysql_query("SELECT * FROM fotos WHERE id = $id_de_la_foto");
  8.     while ($fila = mysql_fetch_array($foto_a_eliminar)){
  9.  
  10. ?>

Código PHP:
Ver original
  1. <?php
  2.     // Si existe la variable "id" procedemos a eliminar la foto:
  3.     if (isset($id_de_la_foto)){
  4.         unlink ("../".$fila['foto']);
  5.         unlink ("../fotos/miniaturas/miniatura_chica_".$fila['id'].".jpg");
  6.         // Definimos la variable $eliminar_foto con la cadena SQL:
  7.         $eliminar_foto = mysql_query("DELETE FROM fotos WHERE id = '$id_de_la_foto'");
  8.         // Si la foto fue eliminada mostramos un mensaje:
  9.         if ($eliminar_foto){
  10.         echo '<div align="center">La foto # '.$id_de_la_foto.' fue eliminada correctamente.</div>';
  11.         // Inluimos el archivo con las fotos pendientes:
  12.         include_once ("pendientes.php");
  13.         }
  14.         // Si la foto no fue eliminada mostramos un mensaje:
  15.         else {
  16.         echo '<div align="center">La foto # '.$id_de_la_foto.' no fue eliminada.</div>';
  17.         }
  18.     }
  19.     mysql_close($conexion);
  20. ?>

Etiquetas: borra, imagenes, mysql, registro, registros
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 12:35.