Foros del Web » Programando para Internet » PHP »

Eliminar imagenes del servidor con php

Estas en el tema de Eliminar imagenes del servidor con php en el foro de PHP en Foros del Web. Hola amig@s del foro, la consulta que tengo es ¿como puedo eliminar las imagenes que subo a mi servidor?. Bueno para que entiendan mejor les ...
  #1 (permalink)  
Antiguo 28/08/2008, 13:44
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 9 meses
Puntos: 1
Eliminar imagenes del servidor con php

Hola amig@s del foro, la consulta que tengo es ¿como puedo eliminar las imagenes que subo a mi servidor?. Bueno para que entiendan mejor les explico, tengo un form donde se llenan datos sobre maquinarias por ejm tractores, volquetas,etc. y al final del form se debe buscar la imagen de esa maquinaria y se debe guardar en la BD, entonces el procedimiento que hago para guardar imagenes en la BD es con move_uploaded_file que me permite mover dicha imagen a una carpeta dentro de mi servidor, para que me sea mas facil mostrarlo al momento de los reportes.
Aqui posteo parte del código que empleo para subir las imagenes:

Código PHP:
$cod=$_POST["codigo"];
//rescato los atributos de la imagen

$foto=$_FILES["foto"]["name"];
$ti=$_FILES["foto"]["type"];
$tam=$_FILES["foto"]["size"];
$nombre=$_FILES["foto"]["tmp_name"];

//luego inserto en la BD solo el nombre de la imagen

mysql_query("INSERT INTO imagen VALUES('$cod','$foto') ");

//luego con esta instruccion muevo la imagen a una carpeta dentro de mi servidor

$directorio 'Fotos/';    
move_uploaded_file($_FILES["foto"]["tmp_name"],$directorio.$foto); 
Bueno ese es el procedimiento para guardar las imagenes dentro de mi servidor, pero el problema que tengo es que al momento de eliminar un registro de una tabla de nombre maquina tambien elimine su fotografia de la carpeta.

Esta es la parte en la cual elimino los registros:

Código PHP:
$cod=$_POST["cod"];
mysql_query("DELETE FROM maquina WHERE codigo='$cod' ")or die(mysql_error()); 

//en esta parte solo me borra todo el registro pero no me borra la imagen de ese registro que esta en la carpeta 
Entonces ¿como puedo borrar tambien la imagen del un registro que elimino?

Gracias por cualquier ayuda.
Un saludo.
  #2 (permalink)  
Antiguo 28/08/2008, 13:55
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar imagenes del servidor con php

Cita:
Iniciado por javierito10 Ver Mensaje
Esta es la parte en la cual elimino los registros:

Código PHP:
$cod=$_POST["cod"];
mysql_query("DELETE FROM maquina WHERE codigo='$cod' ")or die(mysql_error()); 

//en esta parte solo me borra todo el registro pero no me borra la imagen de ese registro que esta en la carpeta 
Entonces ¿como puedo borrar tambien la imagen del un registro que elimino?

Gracias por cualquier ayuda.
Un saludo.

Puedes hacerlo asi men:

Código PHP:
//eliminando de la bd
$cod=$_POST["cod"];
mysql_query("DELETE FROM maquina WHERE codigo='$cod' ")or die(mysql_error()); 

//eliminando del servidor
unlink($directorio.$foto);//sabiendo que estos son los parametros para tu caso 
Pruebalo y te servira....

Atte.

MasterOjitos
  #3 (permalink)  
Antiguo 28/08/2008, 13:58
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Eliminar imagenes del servidor con php

muchas gracias MasterOjitos lo voy a probar y te aviso.
  #4 (permalink)  
Antiguo 28/08/2008, 14:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar imagenes del servidor con php

Bueno, primero tendrias que hacer un SELECT para tomar la ruta de la imagen a borrar dependiendo del $cod.
Luego seria borrar el archivo con la funcion unlink("ARCHIVOABORRAR");
Luego de eso, si hacer el DELETE FROM

Todo lo que se me ocurre.
  #5 (permalink)  
Antiguo 28/08/2008, 14:04
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar imagenes del servidor con php

No es necesario, Ronruby puesto que ya tiene la imagen y ruta del anterior codigo que posteo.

Shuuuu.

Atte.

MasterOjitos
  #6 (permalink)  
Antiguo 28/08/2008, 14:11
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar imagenes del servidor con php

Cita:
Iniciado por masterojitos Ver Mensaje
No es necesario, Ronruby puesto que ya tiene la imagen y ruta del anterior codigo que posteo.

Shuuuu.

Atte.

MasterOjitos
Si, pero la variable $foto fue pasada por $_FILES.
Osea, esa variable no existira cuando el quiera borrar el registro.

A menos que valla a borrarlo justamente luego de subirlo, lo cual no tiene ningun sentido.

Mi sugerencia es:
Guarda la foto con el nombre de archivo igual a $cod
Asi si sera mas facil borrar la imagen sin la necesidad de un SELECT para que recoja la ruta.
  #7 (permalink)  
Antiguo 28/08/2008, 14:15
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar imagenes del servidor con php

Plop..... mongo el dice borrar imagenes no reemplazar, si va subir una y desea reemplazar al del registro anterior, ps logico que tendria que antes hacer un select para extraer el nombre de la imagen anterior con el codigo.

Atte.

MasterOjitos
  #8 (permalink)  
Antiguo 28/08/2008, 14:22
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar imagenes del servidor con php

Cita:
Iniciado por masterojitos Ver Mensaje
Plop..... mongo el dice borrar imagenes no reemplazar, si va subir una y desea reemplazar al del registro anterior, ps logico que tendria que antes hacer un select para extraer el nombre de la imagen anterior con el codigo.

Atte.

MasterOjitos
Se supone que la RUTA de la imagen esta en la base de datos.
Y no puedes sacar DICHA ruta con un DELETE

Vuelvo y repito, la variable $FOTO no estara SETEADA cuando el quiera borrar el "articulo" o lo que sea. Te va a dar ERROR.

Y vuelvo y digo: Guarda la imagen con el nombre de $cod. Asi se hace mas facil ya que la ruta sera la misma que $cod (que recuperas mediante un formulario).
  #9 (permalink)  
Antiguo 28/08/2008, 14:35
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar imagenes del servidor con php

Guardarla con $cod, se complica oe mongo, ya que ese codigo debe de ser incrementado, y que tal si es una tabla dependiente y el codigo se repite......

mejor creale un ramdon y lo concatenas con el nombre... y parale al tema que hay temas mas interesantes,..... creo??

Atte.

MasterOjitos
  #10 (permalink)  
Antiguo 28/08/2008, 14:37
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Eliminar imagenes del servidor con php

Muchisimas gracias MasterOjitos funcionó perfectamente ahora si a eliminar registros e imagenes, otra vez muchas gracias.
Saludos.
  #11 (permalink)  
Antiguo 28/08/2008, 14:41
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Eliminar imagenes del servidor con php

Gracias a todos por su ayuda......
  #12 (permalink)  
Antiguo 04/11/2008, 20:02
 
Fecha de Ingreso: enero-2008
Mensajes: 21
Antigüedad: 16 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Eliminar imagenes del servidor con php

Cita:
Iniciado por Ronruby Ver Mensaje
Bueno, primero tendrias que hacer un SELECT para tomar la ruta de la imagen a borrar dependiendo del $cod.
Luego seria borrar el archivo con la funcion unlink("ARCHIVOABORRAR");
Luego de eso, si hacer el DELETE FROM

Todo lo que se me ocurre.
Gracias por la aclaración,con unlink + ruta del archivo a borrar se elimina del servidor .
Si estas en una pagina que muestra varios elementos y seleccionas 1 para borrarlo,se enviaria el codigo por post o get y tendria que hacer un select previamente para obtener la ruta del archivo segun el cod enviado para despues hacer el unlink.Estoy contigo!
  #13 (permalink)  
Antiguo 22/10/2011, 02:07
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Eliminar imagenes del servidor con php

tengo el mismo problema no he entendido nada, esque soy nuevo jeje mi codigo para subir archivos es:
Código PHP:
 <?php
     
if(isset($_FILES['fichero']['name'])){
 
$nombre_archivos=$_FILES['fichero']['name'];
 echo 
$nombre_archivos;
 
$tamano=$_FILES['fichero']['size'];
  if (
$tamano 1000000) { 
    echo 
"se permiten archivos de 1MB máximo."
}else{ 
 if(
move_uploaded_file($_FILES['fichero']['tmp_name'],"imagenes/grandes/" $nombre_archivos)){
 echo 
" El archivo ha sido cargado correctamente. ";
 }else{ 
 echo 
" Ocurrió algún error al subir el fichero. No pudo guardarse.";
 }
 }
 
?>
<script>
function cierra(){
window.opener.form1.imagen.value="<?php echo $nombre_archivos?>"
window.close();
}    
</script>
<br /><a href="#" onclick="cierra()">Cerrar ventana</a>
<?php
}else{
?>
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:14.