Supprimer une image qui est dans un dossier ?

Bonjour je ne sais pas comment supprimer une image qui est dans mon dossier upload, et le post avec le titre et contenu qui est lui dans ma base de donné.
Merci pour toute aide🙂
Par Batfire le 10 Jan 2019
Cette pub permet au site de vivre ...

7 Commentaires

Tu veux participer ?
Alors connecte toi ou inscris toi et viens participer !
Clouder
Le 28 Jan 2019
Tu as bien quelque chose dans ta variable $filename  ?

Teste comme ça : 

<?php

session_start();

include('config/connexionDB.php');

$filename = (String) trim($_GET['fileNameNew']);

$id = (int) htmlentities(trim($_GET['id']));

echo $filename;
exit;
Batfire
Le 25 Jan 2019
Merci beaucoup mais même après avoir ajouté le nom de mon image cela ne marche toujours pas.
J'ai vérifié le nom de mon dossier (uploads), le nom de mes variables (id,fileNameNew).
Quand je clique sur supprimer il me dirige vers la bonne
page (https:blabla.com/delete_post.php?id=1&fileNameNew=5c3b9e02bd76c9.16488660.jpg)
mais rien ne se passe meme pas le retour à home .php .
Avez-vous une idée ?🙂
//partie profile
<div class="delete-action">
 <a href="delete_post.php?id=<?= $r['id'] ?>&fileNameNew=<?= $r['fileNameNew']?>">
  <img src="images/Cross-icone.svg" width="30" height="30" alt="">
  </a>
</div>
//partie delete

<?php

session_start();

include('config/connexionDB.php');

$filename = (String) trim($_GET['fileNameNew']);

$id = (int) htmlentities(trim($_GET['id']));



if(empty($filename) || empty($id)){

   header('Location: home.php');

   exit;

}

if(unlink("/uploads/" . $filename)){

   $DB->insert("DELETE * from posts WHERE id = '$id'");

   header('Location: home.php');

   exit;

}else{

   // L'image ne sait pas supprimée

   header('Location: home.php');

   exit;

}

   
Clouder
Le 20 Jan 2019
C'est normal pour supprimer ton image tu ne met que l'id dans ton URL il faut également que tu mettes le nom de ton image.

Exemple : 

<?php
$image = "Cross-icone.svg";
?>
<div class="delete-action">
<a href="delete_post.php?id=<?= $r['id'] ?>&fileNameNew=<?= $image ?>">
 <img src="images/Cross-icone.svg" width="30" height="30" alt="">
</a>
</div>
Batfire
Le 17 Jan 2019
Bonjour merci beaucoup pour votre réponse votre image de profil est aussi trés belle mais malheureusement cela ne marche pas, je pense que cela vient de cette partie de mon code. (profile.php) Merci beaucoup👍
<div class="delete-action">
 <a href="delete_post.php?id=<?= $r['id'] ?>">
  <img src="images/Cross-icone.svg" width="30" height="30" alt="">
 </a>
</div>
Clouder
Le 17 Jan 2019
Premièrement cool ton image de profil 👍

Et deuxièmement pour ton problème de suppression d'image :

Il faut que tu supprimes ton image en fonction d'où elle est située dans ton site.

Exemple : 
Si elle se trouve à la racine de ton projet alors il faudra mettre  :

unlink("/" . $filename);

Sinon pour ton code tu peux faire comme ça : 

<?php
session_start();

include('config/connexionDB.php');

$filename = (String) trim($_GET['fileNameNew']);
$id = (int) htmlentities(trim($_GET['id']));

if(empty($filename) || empty($id)){
header('Location: home.php');
exit;
}

if(unlink("/dossier_de_ton_image/" . $filename)){

$DB->insert("DELETE * from posts WHERE id = '$id'");
header('Location: home.php');
exit;
}else{
// L'image ne sait pas supprimée
header('Location: home.php');
exit;
}

?>
Batfire
Le 16 Jan 2019
Bonjour j'ai inséré cette fonction dans mon code pour supprimer um post mais cela ne marche pas. 😉Pouvez vous m'aider
Voici mon code:
<?php
session_start();

include('config/connexionDB.php');

$filename = $_GET['fileNameNew'];

unlink("$filename");

$id = (int) htmlentities(trim($_GET['id']));

$DB->insert("DELETE * from posts WHERE id = '$id'");
    header('Location: home.php');
    exit;
?>
Clouder
Le 12 Jan 2019
Bonjour Batfire, 

Pour supprimer une image qui est dans un de tes dossiers la fonction en PHP est : 

   unlink("chemin_de_ton_image");