Maison > développement back-end > tutoriel php > Comment supprimer de manière récursive des répertoires et leur contenu en PHP ?

Comment supprimer de manière récursive des répertoires et leur contenu en PHP ?

Patricia Arquette
Libérer: 2024-12-08 03:58:08
original
584 Les gens l'ont consulté

How to Recursively Delete Directories and Their Contents in PHP?

Suppression récursive de répertoires et de leur contenu en PHP

Lorsqu'on est chargé d'éliminer un répertoire et toute sa structure en PHP, une approche récursive est souvent recherché. Cela implique de purger efficacement non seulement les fichiers du répertoire cible, mais également tous les sous-répertoires imbriqués et leur contenu.

Solution :

La section fournie par l'utilisateur du manuel PHP pour rmdir fournit une implémentation pratique pour ce scénario de suppression récursive :

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);
    }
}
Copier après la connexion

Comment ça Fonctionne :

  1. La fonction rrmdir() commence par vérifier si le $dir spécifié est un répertoire.
  2. Elle parcourt ensuite le contenu du répertoire à l'aide de scandir.
  3. Pour chaque fichier ou sous-répertoire rencontré :

    • S'il s'agit d'un sous-répertoire (pas "." ou ".."), il vérifie s'il s'agit d'un véritable sous-répertoire (pas d'un lien) et appelle récursivement rrmdir() pour supprimer son contenu.
    • Sinon, il supprime directement le fichier.
  4. Enfin, une fois tout le contenu supprimé, le répertoire d'origine ($dir) est supprimé.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal