Foros del Web » Programando para Internet » PHP »

PHP OO accion unlink y borrar de base de datos

Estas en el tema de accion unlink y borrar de base de datos en el foro de PHP en Foros del Web. hola no conozco mucho del tema de php, espero me puedan ayudar necesito que imagenes que subo a carpeta en servidor se borren al igual ...
  #1 (permalink)  
Antiguo 17/08/2015, 01:35
 
Fecha de Ingreso: agosto-2015
Mensajes: 1
Antigüedad: 9 años, 4 meses
Puntos: 0
accion unlink y borrar de base de datos

hola no conozco mucho del tema de php, espero me puedan ayudar
necesito que imagenes que subo a carpeta en servidor se borren al igual del registro que e realiza en base de datos.
tengo un archivo en el cual se muestra en tabla... dicha tabla contiene un boton la cual manda llamar mi archivo borrarImagen.php

<div class="table-responsive">
<table id="tSearch" cellspacing="1" class="table table-striped table-responsive">

<thead>
<tr>
<th>Nombre Imagen</th>
<th>No. Imagen</th>
<th>Eliminar Imagen</th>


</tr>
</thead>
<tbody>
<form name="orden" method="post">
<?php
$ruta = "imagenes/"; // Indicar ruta
$filehandle = opendir($ruta); // Abrir archivos

require "Conexion.php";
$db = new conexion();
$query = "SELECT * FROM galeria";
$consulta = $db->execute($query);
while ($resultado = mysqli_fetch_array($consulta)) {

// while ($file = readdir($filehandle)) {
//if ($file != "." && $file != "..") {
// $file = readdir($filehandle);
//$tamanyo = GetImageSize($ruta . $file);
//echo "<div id='contenedor'";
//echo "<div id='foto'><img src='img/usuario.jpg' height='50' width='50'></img></div>";
echo "<tr><td>" . $resultado["nom_image"] . "</td><td>" . $resultado["imagen_id"] . "</td><td><img width='140px' src='" . ["../imagenes/nom_image"] . "'/></td><td><a href='borrarImagen.php? id=" . $resultado["nom_image"] . " id2=" . $resultado["imagen_id"] . "'><img src='img/error.png' width='20' height='20'></a></td></tr>";
//}}
}
echo "</table>";
?>
</form>
</table>
</div>



y mi archivo borrarImagen es este

<?php
$foto = $_GET["id"];
unlink("imagenes/".$foto) ;
echo "<script> alert('Imagen Eliminada Exitosamente'); location= 'Sdescargas.php'; </script>";

$fot = $_GET["id2"];
require "Conexion.php";
$db = new conexion();

$sql = "DELETE FROM galeria WHERE imagen_id='$fot'";
$consulta=$db->execute($sql);

si borro $foto a </script> me elmina de base de dato pero si borro de $fot a $consulta, borra de carpeta en servidor.
?como puedo acomodar el codigo para que realize ambas acciones?
  #2 (permalink)  
Antiguo 17/08/2015, 06:43
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 10 meses
Puntos: 69
Respuesta: accion unlink y borrar de base de datos

Estás separando los dos códigos. Déjalos en uno solo así:

Código PHP:
Ver original
  1. <?php
  2. require "Conexion.php";
  3. if (isset($_GET["id"]) && isset($_GET["id2"])
  4. {  
  5.     $foto = $_GET["id"];
  6.     $fot = $_GET["id2"];
  7.     $db = new conexion();
  8.     $sql = "DELETE FROM galeria WHERE imagen_id='$fot'";
  9.     $consulta=$db->execute($sql);
  10.     unlink("imagenes/".$foto) ;        
  11.     echo "<script> alert('Imagen Eliminada Exitosamente'); location= 'Sdescargas.php'; </script>";
  12. }
  13. ?>

Le pasas ambos parámetros por la url así:

?id=123&id2=456

Si tanto el id de la base de datos como el nombre de la imagen son idénticos, colocas entonces este código en vez del anterior:

Código PHP:
Ver original
  1. <?php
  2. require "Conexion.php";
  3. if (isset($_GET["id"]))
  4. {  
  5.     $foto = $_GET["id"];
  6.     $db = new conexion();
  7.     $sql = "DELETE FROM galeria WHERE imagen_id='$foto'";
  8.     $consulta=$db->execute($sql);
  9.     unlink("imagenes/".$foto) ;        
  10.     echo "<script> alert('Imagen Eliminada Exitosamente'); location= 'Sdescargas.php'; </script>";
  11. }
  12. ?>

Y pasas el parámetro así:

?id=123
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Etiquetas: mysql, registro, select, sql, tabla, unlink
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:22.