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.

<div> Allgemeines Block-Element

CSS - Navigation mit :target auf und zumachen

PHP - Schriftzeichen anderer Sprachen tauschen

JavaScript - HTML-Tabelle Breite anpassen

MySQL - Text in einer Spalte austauschen