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]; ?>');">&times;</span>	
			</div>
			


			<?php } ?>  	

<?php } ?>
toda ayuda es bienvenida..
0
Puntos
77
Visitas
18
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
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
Por antoniodesign hace 5 días
Novice
Respuesta #3
contenido del fichero "inc/eliminar.php" please
0
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
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
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
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
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
Por alber hace 5 días
Admin
Respuesta #9
no lo elimina, parece que sigue igual
0
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
Por alber hace 5 días
Admin
Respuesta #11
a esto te refieres ? http://localhost/proyecto/inc/eliminar.php
0
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
Por antoniodesign hace 5 días
Novice
Respuesta #13
captura
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
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
Por antoniodesign hace 4 días
Novice
Respuesta #15
será que no lee la ruta url el unlink ?
0
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 Network
0
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
Por alber hace 4 días
Admin
Respuesta #18
no hay respuesta en el preview, todo blanco como la nieve jaja
0
Puntos
Por antoniodesign hace 13 horas
Novice
Para comentar Inicia sesión o Regístrate
Phpres 2025@ All rights reserved.
Utilizamos cookies para mejorar la navegación en el sitio. Más información Aceptar