Hola compañeros, estoy tratando de eliminar las imagenes al borrar un post de la carpeta /upload, también quiero que se eliminen del todo cuando edito el post en tiemporeal , se que va relacionado a la carpeta admin/editar.php e inc/tiemporeal.php os dejo el código por aqui:
<?php if($imagenes!=''){ ?>
<?php for ($i=0; $i < $cantidad; $i++) { ?>
<div class="relativo" id="elemento<?php echo $i.'bucle2'; ?>">
<img style="width: 100px; height: auto" src="<?php echo $dato[0] ?>img/upload/<?php echo $partes[$i]; ?>" alt="">
<span onclick="eliminar_imagen('<?php echo $i.'bucle2'; ?>','<?php echo $partes[$i]; ?>');">×</span>
</div>
<?php } ?>
<?php } ?>toda ayuda es bienvenida..0
Puntos
Puntos
77
Visitas
Visitas
18
Resp
Resp
Por antoniodesign hace 5 días
Novice
Respuesta #1
en el archivo ajax que se ejecuta con la funcion eliminar_imagen primero comprueba si existe el fichero con file_exists, después elimina el fichero con unlink:
$ruta = 'uploads/foto.jpg';
if (file_exists($ruta)) {
unlink($ruta);
echo 'Imagen eliminada';
} else {
echo 'La imagen no existe';
}si ves que lías pon por aquí el fichero completo donde envías los valores con AJAX.0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #2
no , la tengo tal que asi:
function eliminar_imagen(elemento,nombre){
$.ajax({
type: 'POST',
url: urlweb + 'inc/eliminar.php',
data: 'nombre=' + nombre,
success: function(respuesta){
//Eliminar elemento
if(respuesta=='ok'){
$('#elemento'+elemento).fadeOut(500);
}
}
});
}0
Puntos
Puntos
Por antoniodesign hace 5 días
Novice
Respuesta #3
contenido del fichero "inc/eliminar.php" please
0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #4
te lo paso entero que es corto:
<?php require_once('../conexion.php');
//Validar formulario
if(!isset($_POST['nombre']) || $_POST['nombre']=='') exit;
//$_SESSION['imagenes']; ####edwerewr
$elimiar=array('####'.$_POST['nombre'] , $_POST['nombre'].'####', $_POST['nombre']);
$cadenanueva=str_replace($elimiar,'',$_SESSION['imagenes']);
$_SESSION['imagenes']=$cadenanueva;
echo 'ok';
?>0
Puntos
Puntos
Por antoniodesign hace 5 días
Novice
Respuesta #5
pon esto después del isset y cuando borres una imagen comprueba que se ha borrado de la capeta upload:
$rutaImage = $dato[0].'img/upload/'.$_POST['nombre'];
if (file_exists($rutaImage)) {
unlink($rutaImage);
}no recuerdo si el valor $dato[0] lleva / o no, prueba de las 2 maneras:$rutaImage = $dato[0].'/img/upload/'.$_POST['nombre']; // Con slash
if (file_exists($rutaImage)) {
unlink($rutaImage);
}0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #6
prueba así y mira que te imprime el fichero desde el apartado Network o Red en herramientas de Chrome, el fichero inc/eliminar.php
$rutaImage = $dato[0].'img/upload/'.$_POST['nombre'];
echo ' Ruta imagen es: '.$rutaImage;
unlink($rutaImage);
0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #7
si lo imprime.. pero se queda congelado el js no se quita la imagen
0
Puntos
Puntos
Por antoniodesign hace 5 días
Novice
Respuesta #8
ah vale pero eso es otro paso que hay que hacer, necesito saber si lo elimina de la carpeta como te comentaba..
0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #9
no lo elimina, parece que sigue igual
0
Puntos
Puntos
Por antoniodesign hace 5 días
Novice
Respuesta #10
pues sin saber que ruta saca por Network el fichero inc/borrar.php poco podemos hacer jeje míralo y me cuentas
0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #11
a esto te refieres ? http://localhost/proyecto/inc/eliminar.php
0
Puntos
Puntos
Por antoniodesign hace 5 días
Novice
Respuesta #12
dentro de network me sale eliminar.php y al darle me sale la ruta antes mencionada
1
Puntos
Puntos
Por antoniodesign hace 5 días
Novice
Respuesta #13

abre la network, elimina la foto y cuando aparezca en el panel el fichero eliminar.php haz lo mismo q en la captura.. click en fichero y abres el paner derecho de vista previa.

abre la network, elimina la foto y cuando aparezca en el panel el fichero eliminar.php haz lo mismo q en la captura.. click en fichero y abres el paner derecho de vista previa.
0
Puntos
Puntos
Por alber hace 5 días
Admin
Respuesta #14
me pone esto:
Ruta imagen es: http://localhost/proyecto/img/upload/1766774685_259f10f1b09746fcbb8f430e43b07a25_ful.jpg Warning: unlink(): http does not allow unlinking in C:\xampp\htdocs\proyecto\inc\eliminar.php on line 10 ok
0
Puntos
Puntos
Por antoniodesign hace 4 días
Novice
Respuesta #15
será que no lee la ruta url el unlink ?
0
Puntos
Puntos
Por antoniodesign hace 4 días
Novice
Respuesta #16
Es por el http, no lo recordaba. Tienes q poner la ruta interna de la carpeta imágenes
$rutaImage = '../img/upload/'.$_POST['nombre']; // Con slash
if (file_exists($rutaImage)) {
unlink($rutaImage);
echo "delete";
}Prueba a ver y vuelve a capturar la Network0
Puntos
Puntos
Por alber hace 4 días
Admin
Respuesta #17
Ya de paso en el último echo q tienes abajo con un ok saca el nombre de la nueva cadena q vemos si borra la imagen de la sesión.
echo "ok"; echo $cadenanueva;
0
Puntos
Puntos
Por alber hace 4 días
Admin
Respuesta #18
no hay respuesta en el preview, todo blanco como la nieve jaja
0
Puntos
Puntos
Por antoniodesign hace 13 horas
Novice