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.

<meta> Meta-Angaben

CSS - Ladeanimation ohne Bild-Grafik

PHP - Copyright-Hinweis immer aktuell

JavaScript - Zufallslink im neuen Tab/Fenster anzeigen und aktuelle Seite verlassen

MySQL - Gleiche Datensätze anzeigen

Lernen beim Arbeiten
Viele Fehler werden beim Arbeiten an der Homepage erkannt und im weiteren Verlauf vermieden (Etwas daraus gelernt!). Auch das Lernen durch Ausprobieren, zum Beispiel einen bestimmten Wert einfach erhöhen und sehen was dann passiert ist sehr lehrreich.