Maison >développement back-end >tutoriel php >Comment supprimer récursivement un répertoire et son contenu en PHP ?

Comment supprimer récursivement un répertoire et son contenu en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-17 21:24:11281parcourir

How to Recursively Delete a Directory and Its Contents in PHP?

Suppression récursive d'un répertoire et de son contenu avec PHP

Problème

Besoin d'une méthode pour éliminer un répertoire ainsi que tous ses fichiers et répertoires imbriqués dans PHP.

Solution

PHP fournit une solution complète pour cette tâche, vous permettant de supprimer un répertoire et tout son contenu de manière récursive. Voici une implémentation fournie par l'utilisateur à partir de la page de manuel rmdir :

function rrmdir($dir) {
  if (is_dir($dir)) {
    $objects = scandir($dir);
    foreach ($objects as $object) {
      if ($object != "." && $object != "..") {
        if (is_dir($dir. DIRECTORY_SEPARATOR . $object) && !is_link($dir . "/" . $object)) {
          rrmdir($dir . DIRECTORY_SEPARATOR . $object);
        } else {
          unlink($dir . DIRECTORY_SEPARATOR . $object);
        }
      }
    }
    rmdir($dir);
  }
}

Exemple d'utilisation

Pour utiliser cette fonction, fournissez simplement le chemin d'accès au répertoire que vous souhaitez supprimer :

rrmdir('path/to/directory');

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn