PHP - eliminacion con unlink

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

eliminacion con unlink

Publicado por Alejandro (172 intervenciones) el 08/05/2020 12:24:44
Hola buenos dias,

vereis tengo un formulario en el cual puedo subir archivos a mi base de datos mysql. Despues tengo otro formulario donde modifico los datos subidos por el formulario anterior donde tambien puedo modificar los archivos subidos anteriormente. Todo va de lujo pero necesito que cuando suba un archivo en el formulario donde modifico los datos se me borre de la carpeta del servidor el archivo subido anteriormente. A continuacion os 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
28
29
30
31
32
33
$id=$_POST['id'];
$documento=$_POST['documento'];
//subida a directorio
 
$archivo = (isset ($documento)) ? $documento: null;
$archivo_destino = null;
 
if ($archivo) {
    $extension = pathinfo($archivo['name'], PATHINFO_EXTENSION);
    $extension = strtolower($extension);
 
        if ($extension == "pdf"){
 
                $archivo_destino = "archivos/documentos/".basename($archivo['name']);
 
                $archivo_ok = move_uploaded_file($archivo['tmp_name'], $archivo_destino);
 
                $select = "SELECT ruta FROM datos WHERE id_personal=".$id;
                $resultado = mysqli_query($GLOBALS['conn'],$select);
                $fila = mysqli_fetch_array($resultado);
 
                if ($archivo_destino!==$fila['ruta'] ){
 
                        unlink($fila['ruta']);
 
                }
 
        }else {
 
                echo "La extension del documento no es PDF<br/>";
 
        }
}

En algunos archivos me sale esto:

Warning: unlink(archivos/documentos/curriculum): Permission denied in //ruta del archivo on line 229

y en otros esto:

Warning: unlink(archivos/documentos/Vida laboral): No such file or directory
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

eliminacion con unlink

Publicado por Kathyu (905 intervenciones) el 08/05/2020 13:33:33
Pero los errores parecen bastante claros

Sin permiso en uno y el otro no encontrado, ponga exactamente todo el error, puede que sea algo con las barras y todo eso
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 javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

eliminacion con unlink

Publicado por javier (546 intervenciones) el 08/05/2020 14:33:35
hola

este error

Warning: unlink(archivos/documentos/curriculum): Permission denied in //ruta del archivo on line 229

1.- como te han dicho, no tienes permiso del servidor para eliminarlo, en el cpanel del hosting cambialo (y dale permiso a eliminar) y si estas en local, lo mismo (aunque en local no suele dar problemas, a menos que tu hayas restingido rutas o archivos a solo lectura, busca en google acerca de los permiso a archivos en el servidor).

2.- cuando haces:

1
unlink(archivos/documentos/curriculum);

no haces referencia a un archivo, si no a una carpeta, por que sino, donde esta la extension? (.php .html. png. jpg)

deberia ser de eta manera, por ejemplo si se tratara de un archivo pdf

1
unlink(archivos/documentos/curriculum.pdf);

3.- cuando haces:
1
unlink(archivos/documentos/Vida laboral);

a parte de que no encuentra el archivo en esa ruta, donde escribes su nombre hay un espacio y eso no esta, sintacticamente, permitido en PHP, a demas de que tampoco lleva la extension del archivo (seguramente el espacio y la falta de extension sean el error)

otra vez suponiendo que fuera un pdf, has de renombrar el archivo y quitarle el espacio
que quedara de la siguiente manera:
1
vida_laboral.pdf


saludos
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

eliminacion con unlink

Publicado por Kathyu (905 intervenciones) el 08/05/2020 15:37:44
Claro, por eso pedí el error exacto porque muchas veces es por las rutas por la que la app lanza error
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

eliminacion con unlink

Publicado por Alejandro (172 intervenciones) el 25/05/2020 13:45:27
Ya esta solucionado, eran por los espacios. Gracias Kathyu ;)
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

eliminacion con unlink

Publicado por Alejandro (172 intervenciones) el 25/05/2020 13:44:47
Tenias razon era por los espacios del documento ;) Lo de la extension ha sido un fallo mio al copiar la pregunta
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