Como borrar una imagen del servidor al borrar el post
Buen día amigo.
Estuve observando el post anterior sobre: Borrar imagenes del post subido en editar y ciertamente el código cumple muy bien su función eliminando la foto en la edición de post y en la carpeta upload al mismo tiempo.
Pero cuando el post es eliminado del todo la imagen permanece en el servidor ignorando el código. Es allí que me surgió esta interrogante:
¿como se podría lograr que una imagen que fue subida al servidor sea eliminada al momento que se borra todo el post?
De antemano; Muchas gracias por todo el apoyo estimado amigo.
Editado
Estuve observando el post anterior sobre: Borrar imagenes del post subido en editar y ciertamente el código cumple muy bien su función eliminando la foto en la edición de post y en la carpeta upload al mismo tiempo.
Pero cuando el post es eliminado del todo la imagen permanece en el servidor ignorando el código. Es allí que me surgió esta interrogante:
¿como se podría lograr que una imagen que fue subida al servidor sea eliminada al momento que se borra todo el post?
De antemano; Muchas gracias por todo el apoyo estimado amigo.
Editado
Respuesta #1
buenas, es muy sencillo solo tienes que agregar la función unlink de php antes de que se elimine el post con DELETE de sql.
ten en cuenta que para borrar la imagen, antes tienes que hacer una consulta para obtener la o las imágenes del post que estas borrando y pasar el unlink a todas para que se borren del server
si quieres pasa por aquí el código que te borra el post (con el DELETE sql) y vamos mirando ideas
slds
ten en cuenta que para borrar la imagen, antes tienes que hacer una consulta para obtener la o las imágenes del post que estas borrando y pasar el unlink a todas para que se borren del server
si quieres pasa por aquí el código que te borra el post (con el DELETE sql) y vamos mirando ideas
slds
0
Puntos
Puntos
Por alber hace 70 meses
Administrador
Respuesta #2
Gracias por tu respuesta amigo Alber.
Ese es el código que está en el fichero borrar.php
Ese es el código que está en el fichero borrar.php
<?php require_once('../conexion.php'); //2016-10-07 21:23:10 unlink('../img/upload/'.DELETE sql['nombre']); echo ';)'; ?>
Respuesta #3
¿Está correcto haberlo insertado en ese fichero?
Respuesta #4
rquilcate dijo: ¿Está correcto haberlo insertado en ese fichero?me refería al fichero que te borra el post.. no al fichero borrar.php ;)
0
Puntos
Puntos
Por alber hace 70 meses
Administrador
Respuesta #5
Ese es el código que actualmente estoy usando amigo Alber ( el que funciona borrando la imagen en modo edición de post).
<?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']); //Aquí se elimina la img unlink('../img/upload/'.$_POST['nombre']); $cadenanueva=str_replace($elimiar,'',$_SESSION['imagenes']); $_SESSION['imagenes']=$cadenanueva; echo 'ok'; ?>
Respuesta #6
vale, pero quieres que cuando borres un post, las imágenes del mismo se borren verdad?? para eso tienes que hacerlo en al fichero donde se borra el POST no la imagen.. no se si me explico
0
Puntos
Puntos
Por alber hace 70 meses
Administrador
Respuesta #7
ok me has puesto el código de inc/eliminar.php (borrar imagenes) necesito el código de admin/borrar.php (borrar post)
salu2
salu2
1
Puntos
Puntos
Por alber hace 70 meses
Administrador
Respuesta #8
Ya veo amigo.
Andaba mas perdido; disculpa brother.
Este es el código en cuestión:
Andaba mas perdido; disculpa brother.
Este es el código en cuestión:
<?php require_once('../conexion.php'); $menu='admin'; //Validación de rango y valores if(!isset($_SESSION['iduser']) || rango($_SESSION['iduser'])!=10 || !isset($_GET['idpost'])) header('Location:'.$dato[0]); $idpost=$_GET['idpost']; //BORRAR REGISTRO $accion_nm = "DELETE FROM z_posts WHERE id=$idpost"; $consulta_nm = mysqli_query($conexion,$accion_nm) or die(mysqli_error()); header('Location:'.$dato[0].'admin/posts.php'); ?>
Respuesta #9
Hola amigo Alber. intenté colocar la función unlink en esta ruta admin/borrar.php y también en otros ficheros pero no logro conseguir que funcione estimado amigo.; por favor si me podrías hechar una manito con esto amigo Alber.
Muchas gracias.
Muchas gracias.
Respuesta #10
hola como te había comentado, tienes que generar un consulta en ese fichero que te saque la cadena de imágenes del post en cuestión que quieres eliminar y después hacerle el unlink una por una.
te dejo el código, en el fichero admin/borrar.php justo abajo de esto:
te dejo el código, en el fichero admin/borrar.php justo abajo de esto:
$idpost=$_GET['idpost'];agrega esto y quédate con los comentarios que hay en el código para la próxima vez que lo hagas ;)
//buscar la cadena de imagenes del post $accion_buscarimg="SELECT imagen FROM z_posts WHERE id=$idpost"; $consulta_buscarimg=mysqli_query($conexion,$accion_buscarimg); $datos_buscarimg=mysqli_fetch_assoc($consulta_buscarimg); //dividir la cadena de imagenes $imagenes=$datos_buscarimg['imagen']; $partes=explode('####',$imagenes); $cantidad=count($partes); if($imagenes!=''){ //bucle para recorrer todos los nombres de imagenes for ($i=0; $i < $cantidad; $i++) { //elimirar imagen una por una unlink('../img/upload/'.$partes[$i]); } } mysqli_free_result($consulta_buscarimg);salu2
1
Puntos
Puntos
Por alber hace 70 meses
Administrador
Respuesta #11
Gracias por tu recomendación estimado amigo !! ...Ya estaba al borde de la locura... pero con tu ayuda por fín lo pude lograr.
Muchas gracias por compartir tus conocimientos amigo Alber :)
Muchas gracias por compartir tus conocimientos amigo Alber :)
Respuesta #12
salu2
rquilcate dijo: Gracias por tu recomendación estimado amigo !! ...Ya estaba al borde de la locura... pero con tu ayuda por fín lo pude lograr.perfecto crack! que te parece si publicas aportes en el foro y así nos ayudamos mutuamente?
Muchas gracias por compartir tus conocimientos amigo Alber :)
salu2
1
Puntos
Puntos
Por alber hace 70 meses
Administrador
Respuesta #14
muy buen aporte el que habéis echo! me sirvió demasiado
0
Puntos
Puntos
Por dicarloo hace 70 meses
Principiante
Respuesta #15
salu2 ;)
rquilcate dijo: Con gusto brother!!genial bro, entonces te subo el rango y cerramos este tema como solucionado!
salu2 ;)
0
Puntos
Puntos
Por alber hace 70 meses
Administrador