PHP - borrar archivo de la carpeta

 
Vista:
sin imagen de perfil
Val: 336
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

borrar archivo de la carpeta

Publicado por Alejandro (172 intervenciones) el 29/01/2020 08:05:49
Hola a todos, que tal,

vereis tengo un formulario con un input file. Ese input file sube los archivos a diferentes carpetas segun su extension mime, luego tengo otro boton que borra la ruta de esos archivos en mi bd pero no consigo borrar los propios archivos de la carpeta del servidor, alguna idea??? gracias de antemano. A continuacion dejo mi codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$adjunto = $_FILES['adjuntos'];
 
$archivo = (isset ($adjunto)) ? $adjunto : null;
 
$eliminar = $_POST['borrar'];
if(unlink($eliminar)){
 
    //$query = mysql_query("SELECT adjunto FROM noticias WHERE id_noticia=".$_GET['id']);
    while($archivo)  {
 
      if($extension=="pdf") {
 
        unlink("archivos/PDF/".$archivo['name']);
 
      }elseif($extension=="txt"){
 
        unlink("archivos/TXT/".$archivo['name']);
 
      }else{
 
        unlink("archivos/IMG/".$archivo['name']);
 
      }
 
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

borrar archivo de la carpeta

Publicado por joel (1269 intervenciones) el 29/01/2020 08:47:08
Hola Alejandro la instrucción correcta es unlink()... pero, no entiendo la linea 6!!!

Estas seguro de que te entra dentro de ese if?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 336
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

borrar archivo de la carpeta

Publicado por Alejandro (172 intervenciones) el 29/01/2020 10:04:14
hola joel,

ese if elimina la ruta de la bd. Yo quiero que si se borra la ruta, se borre el archivo en la carpeta del servidor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

borrar archivo de la carpeta

Publicado por joel (1269 intervenciones) el 29/01/2020 10:49:30
Hola Elejandro, creo que estas equivocado... a no ser que hayas sobreescrito la función unlink() utilizada en el if de la linea 6... y si lo has hecho (sobreescribir la función) luego no te eliminar los archivos en las lineas 13, 17 y 21.

Fíjate en la linea 6 del código que has publicado en esta pagina... haber si estamos hablando de cosas diferentes...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 336
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

borrar archivo de la carpeta

Publicado por Alejandro (172 intervenciones) el 29/01/2020 11:31:40
no te entiendo joel, a que te refieres con sobreescribir??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 336
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

borrar archivo de la carpeta

Publicado por Alejandro (172 intervenciones) el 29/01/2020 12:04:17
He rehecho el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$adjunto = $_FILES['adjuntos'];
$eliminar = $_POST['borrar'];
unlink($eliminar);
if($archivo = (isset ($adjunto)) ? $adjunto : null;){
 
  $dir="archivos_adjuntados/PDF/";
  $dir2="archivos_adjuntados/TXT/";
  $dir3="archivos_adjuntados/IMG/";
  if ($dir)  {
 
    $handle = opendir($dir);
    if ($file = readdir($handle))  {
 
        if (is_file($dir.$file)) {
 
           unlink($dir.$file);
        }
 
    }
  }elseif($dir2){
 
        $handle = opendir($dir2);
        if ($file = readdir($handle))  {
 
          if (is_file($dir2.$file)) {
 
              unlink($dir2.$file);
          }
 
        }
  }else{
 
       $handle = opendir($dir3);
        if ($file = readdir($handle))  {
 
          if (is_file($dir3.$file)) {
 
              unlink($dir3.$file);
          }
 
        }
  }
}

Pero nada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar