Tengo una tabla en la base de datos llamada products. La tabla contiene id que es la tecla principal A_I property, name, y price.

Los contenidos de la tabla se muestran en la página de inicio de mi sitio. El mismo sitio tiene un panel de administración que administra el stock, uno de ellos que elimina productos particulares de la tabla, así como de la página de inicio.

El problema es cuando se elimina el producto, su imagen aún permanece en la carpeta, no quiero que suceda.

He realizado investigaciones y encontré sobre la función de desvinculación que elimina un archivo $, pero no puedo averiguar cómo usarlo en mi caso. ¿Cómo puedo relacionarme / vincular una imagen en particular a su ID para que el método de desvío sabrá qué imagen eliminará de la carpeta? Alguien ayuda, por favor.

Aquí está mi código que muestra los productos a la página de inicio:

<div class="container">
<div class="row text-center">
<?php while($product=$result->fetch_assoc()){ ?>
<div class="col-lg-3 col-md-4 col-sm-6 col-11 mx-auto my-3">
  <h4><?= $product['product_name']; ?></h4>
     <a class="test-popup-link" href="<?= $product['product_image']; ?>">
       <img src="<?= $product['product_image']; ?>" class="img-fluid rounded mx-auto d-block" alt="Hp 840" id="images">
      </a>
 
  <p class="list-price text-danger">List Price <s>Ksh. <?= $product['list_price']; ?></s></p>
  <p class="price">Our Price: Ksh. <?= $product['our_price']; ?></p>
  <button type="button" class="btn btn-success" data-toggle="modal" 
  data-target="#<?= $id; ?>">Details</button>
</div>
<?php } ?>

</div>
</div>
0
Phillips 7 jun. 2021 a las 22:49

2 respuestas

La mejor respuesta

Si el nombre contiene la extensión de archivo ...

<?php unlink("images/{$product['product_image_name']}"); ?>

Si el nombre no contiene la extensión del archivo, agreguelo ..

<?php unlink("images/{$product['product_image_name']}.jpg"); ?>

O si la extensión del archivo está en otro campo

<?php unlink("images/{$product['product_image_name'] . $product['product_image_extension']}"); ?>
0
blackmambo 7 jun. 2021 a las 21:30

¿Cómo puedo relacionarme / vincular una imagen en particular a su ID para que ese método de desvinculación sepa qué imagen eliminará de la carpeta?

Exactamente lo mismo que ya sabes cómo mostrar la imagen:

<img src="<?= $product['product_image']; ?>"

La fila en la base de datos ya debe contener el nombre del archivo para que funcione, por lo que antes de eliminar la fila, escribiría algo como este para encontrar la imagen para eliminar:

Select product_image From products Where id = ?
1
IMSoP 7 jun. 2021 a las 21:33