bestand verwijderen met php en mysql

Hoe kan je een bestand verwijderen van de server en dan ook nog eens de database updaten met PHP en MySQL? Dat kan met het volgende scriptje.

Dit scriptje is denk ik het meest makkelijke scriptje ooit 🙂 Maar dat mag je zelf beoordelen. Zelf gebruik ik dit alleen op pagina’s die niet door anderen te gebruiken zijn. Want het werkt namelijk met de $_GET methode. Zelf kan je het ook wel aanpassen naar een $_POST maar dit is gewoon handig om het via een link toe te passen.

Wat doet dit script:

  • het verwijderd een bestand uit de map
  • het update de tabel waar de afbeelding in staat weergegeven

Voor wie is dit scriptje:

Als je al een beetje verstand hebt van PHP en een database dan kan je dit script makkelijk gebruiken.

Voorbeeld: we gaan een afbeelding verwijderen

Stap 1: maak een link of knop

Eerst moet je ergens een linkje hebben of een knop waarmee je de actie wil geven om een bestand te verwijderen.

<a href=”bestand-met-het-verwijderscript.php?id=<id>&afbeelding=<afbeelding>&del=afbeelding”>Afbeelding verwijderen</a>

De gegevens als <id> of <afbeelding> kan je vervangen door variabelen die je dan eerder in de pagina hebt opgegeven.

Stap 2: het bestand verwijderen

Dan kan je er voor kiezen om de huidige pagina te gebruiken of je kiest er voor om naar een nieuwe pagina te gaan.

In dit voorbeeld kies ik ervoor om je naar een andere pagina waar je dan werkelijk het bestand gaat verwijderen. Deze heet bijvoorbeeld: “bestand-met-het-verwijderscript.php”

Verwijder alle HTML code in deze pagina en kopieer/ plak deze code:

<?php
/* BESTAND NAAR DB CONNECTIE*/
 require_once('database_bestand.php'); //dit is een verwijzing naar de database connectie
/* AFBEELDING VERWIJDEREN */
 if (isset($_GET["del"]) AND ($_GET["del"] == "afbeelding")) { //controleren of de link juist is gevuld met de juiste informatie.
 $id                 = $_GET['id']; // het recordnummer
 $afbeelding  = $_GET['afbeelding']; //de naam van de afbeelding
 //afbeelding verwijderen uit de map
 if ($afbeelding > '0') {
 unlink("map/root/waar/het/bestand/staat/$afbeelding"); // dit is de lokatie de betreffende afbeelding staat.
 }
 //afbeelding record updaten in de betreffende tabel
 $sql="UPDATE tbl_afbeeldingen SET afbeelding = 0 WHERE id = '$id'";
 //hier staat: update de tabel met de afbeeldingen en zet een 0 in de cel afbeelding waar het id uit de link gelijk is aan $id
mysql_query($sql);
 echo "<script language='javascript'>window.location='website-instellingen.php'</script>";  // en dan ga je weer naar de pagina waar je vandaan kwam.
 }
 ?>

Als het goed is kan je nu een bestand verwijderen van de server via ene link in PHP en de database/ tabel updaten via MySQL.