PHP - Verzeichnis und alle Dateien darin löschen

Diese Funktion löscht auch Unterverzeichnisse mit darin enthaltenen Dateien. Die zu löschenden Dateien dürfen nicht schreibgeschützt sein.


<?php

// Verzeichnis und alle Dateien darin löschen

function rrmdir($dir) {
  if (
is_dir($dir)) {
    
$objects array_diff(scandir($dir), ['.''..']);
    foreach (
$objects as $object) {
      if (
is_dir($dir "/" $object)) {
        
rrmdir($dir "/" $object);
      } 
      else {
        
unlink($dir "/" $object);
      }
    }
    
reset($objects);
    
rmdir($dir);
  }
}

rrmdir("verzeichnis/");
?>

Mit Statusausgabe der gelöschten Dateien und Verzeichnisse


<?php

// Verzeichnis und alle Dateien darin löschen
// Mit Statusausgabe der gelöschten Dateien und Verzeichnisse

$verzeichnispfad "verzeichnis/";

$verzeichnisse array_slice(scanDir($verzeichnispfad), 2);
foreach (
$verzeichnisse as $verzeichnis) {
  if (
is_dir($verzeichnispfad $verzeichnis)) {
    if (
delDateien($verzeichnispfad $verzeichnis)) {
      if (
rmdir($verzeichnispfad $verzeichnis)) {
        echo 
'Verzeichnis: ' $verzeichnis ' wurde gelöscht.<br>';
      }
    }
  }
}

function 
delDateien($verzeichnis) {
  
$dateien array_slice(scanDir($verzeichnis), 2);
  foreach (
$dateien as $datei) {
    if (
unlink($verzeichnis '/' $datei)) {
      echo 
'Datei: ' $verzeichnis '/' $datei ' wurde gelöscht.<br>';
    }
  }
  return 
true;
}
?>

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<section> Abschnitt

CSS - Modal-Fenster mit HTML5 und CSS

PHP - Ein kleiner PHP-Jahreskalender

JavaScript - Ausgabe des aktuellen Datums

MySQL - Alle Einträge nach einem Tag löschen

Zu viel Animation
Zu viel Animation, zum Beispiel mit animierten Gifs, wirkt unprofessionell und lenkt ab. Jede Seite sollte höchstens ein animiertes Element enthalten, besser man verzichtet ganz darauf. (Alles, was über den Bildschirm hopst und zappelt und blinkt — weg damit! ;- )