Foros del Web » Programando para Internet » PHP »

Borrar archivo con unlink()

Estas en el tema de Borrar archivo con unlink() en el foro de PHP en Foros del Web. Hola!! Tengo esta linea: Código PHP: echo  "<td align=center><a href='index.php?oper=1&id=" . $fila  [ "id" ]. "'><img src='./images/b_drop.png'></a></td>" ;  Que lleva al primer case de un switch: Código PHP: ...
  #1 (permalink)  
Antiguo 26/03/2011, 10:15
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Borrar archivo con unlink()

Hola!!

Tengo esta linea:
Código PHP:
echo "<td align=center><a href='index.php?oper=1&id=".$fila ["id"]."'><img src='./images/b_drop.png'></a></td>"
Que lleva al primer case de un switch:
Código PHP:
case 1:
    
$sql "delete from Gastos where id=".$_REQUEST['id'];
    
$consulta $db -> prepare ($sql);
    
$consulta -> execute();
    break; 
Ahora surge mi duda, como leo la ruta del fichero en y la borro con el unlink?? la ruta del fichero esta en la variable ruta_fichero y todos los ficheros estan en al carpeta ./files/


Gracias por adelantado!!!
  #2 (permalink)  
Antiguo 26/03/2011, 10:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Borrar archivo con unlink()

Si quieres usa ruta absolutas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/03/2011, 10:42
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

Pero como la obtengo?? porque estoy trabajando a partir de una id. Y no se como sacar la ruta del archivo de la id con la que estoy trabajando
  #4 (permalink)  
Antiguo 26/03/2011, 10:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Borrar archivo con unlink()

Solo tienes que colocar en el unlink la ruta, algo así
Código PHP:
Ver original
  1. <?php
  2. unlink($_SERVER['DOCUMENT_ROOT'] . '/files/' . $id); // Eso cre algo como c:/xampp/htdocs/files/{id}
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 26/03/2011, 10:55
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

No entiendo la linea que me has puesto :(

Me da este error:
Notice: Undefined variable: id in /opt/lampp/htdocs/index.php on line 44

Warning: unlink(/opt/lampp/htdocs/files/) [function.unlink]: Is a directory in /opt/lampp/htdocs/index.php on line 44

La linea 44 es:
Código PHP:
unlink($_SERVER['DOCUMENT_ROOT'] . '/files/' $id); 
  #6 (permalink)  
Antiguo 26/03/2011, 11:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Borrar archivo con unlink()

Es un pseudo-código, tu lo tienes que implementar conforme a la ruta que quieres.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 26/03/2011, 11:18
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

Si, pero es que mi problema es que no se capturar la ruta_fichero desde una id
  #8 (permalink)  
Antiguo 26/03/2011, 11:20
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Borrar archivo con unlink()

Pues si la tienes en la base de datos, haz una consulta a esta con ese id antes de eliminar el registro :|
  #9 (permalink)  
Antiguo 26/03/2011, 11:35
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

Estoy clavado aquí

Código PHP:
                    $fich "select ruta_fichero from Gastos where id=".$_REQUEST['id'];
                    
$consulta $db -> prepare ($fich);
                    
$consulta -> execute();
                    echo 
$fich;
                    
unlink($_SERVER["DOCUMENT_ROOT"] .'/'.$fich);
                    
$sql "delete from Gastos where id=".$_REQUEST['id'];
                    
$consulta $db -> prepare ($sql);
                    
$consulta -> execute(); 
Y me da este error:

Código:
Warning: unlink(/opt/lampp/htdocs/select ruta_fichero from Gastos where id=60) [function.unlink]: No such file or directory in /opt/lampp/htdocs/index.php on line 45
  #10 (permalink)  
Antiguo 26/03/2011, 11:55
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Borrar archivo con unlink()

Pues claro porque en $fich tienes la consulta sql :|
Necesitas, despues de ejecutar la consulta, devolver el resultado (que ignoro como se haga con la clase que estas utilizando) y usar ese valor en el unlink()
  #11 (permalink)  
Antiguo 26/03/2011, 12:02
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

Vaaaaleeeeee, entiendo. Voy a ver si sigo buscando y tengo suerte jeje


Saludos y gracias!!
  #12 (permalink)  
Antiguo 26/03/2011, 15:44
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

Algo he conseguido, con este codigo me borra el archivo y todo normal pero lo hago en forma de array y se repite 2 veces y claro sale un error porque intenta borrar el archivo y ya esta borrado.

Código PHP:
case 1:
                    
$fich "select ruta_fichero from Gastos where id=".$_REQUEST['id'];
                    
$consulta5 $db -> prepare ($fich);
                    
$consulta5 -> execute();
                    
$lista $consulta5 -> fetch();
                        foreach (
$lista as $row)
    {
            
unlink($_SERVER["DOCUMENT_ROOT"] .'/'.$row);
                
                    
$sql "delete from Gastos where id=".$_REQUEST['id'];
                    
$consulta $db -> prepare ($sql);
                    
$consulta -> execute();
                }    
                    
                break; 
No se como hacer que lo repita una vez o hacerlo sin foreach
  #13 (permalink)  
Antiguo 26/03/2011, 17:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 4 meses
Puntos: 87
Respuesta: Borrar archivo con unlink()

mmm... tal vez puedes checar si el archivo existe antes de intentar borrarlo

Cita:
$archivo_a_borrar = $_SERVER["DOCUMENT_ROOT"] .'/'.$row;

if (file_exists($archivo_a_borrar)) {
unlink($archivo_a_borrar)
}
  #14 (permalink)  
Antiguo 27/03/2011, 06:16
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Borrar archivo con unlink()

Cita:
Iniciado por InKarC Ver Mensaje
mmm... tal vez puedes checar si el archivo existe antes de intentar borrarlo
Genial!!! tienes razón, de esta forma funciona :D

Muchas gracias!!!

Etiquetas: borrar, unlink
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 17:26.