Maison >développement back-end >tutoriel php >Comment puis-je supprimer de manière récursive un répertoire et son contenu en PHP ?

Comment puis-je supprimer de manière récursive un répertoire et son contenu en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 00:01:10865parcourir

How Can I Recursively Delete a Directory and Its Contents in PHP?

Suppression de répertoire avec traversée récursive en PHP

Problème :

Comment pouvons-nous supprimer efficacement un répertoire et l'intégralité de son contenu , y compris tous les sous-répertoires et fichiers associés, en utilisant PHP ?

Réponse :

Pour résoudre cette tâche récursive de suppression de répertoire, nous utilisons une méthode fournie par l'utilisateur à partir de la page de manuel rmdir :

function rrmdir($dir) {
    // Verify if the specified path is a valid directory
    if (is_dir($dir)) {
        // Retrieve a list of files and subdirectories within the directory
        $objects = scandir($dir);

        // Iterate through each item in the directory
        foreach ($objects as $object) {
            // Exclude hidden files and directories (dot files)
            if ($object !== "." && $object !== "..") {
                // If the item is a directory, recursively delete it
                if (is_dir($dir . DIRECTORY_SEPARATOR . $object) && !is_link($dir . "/" . $object)) {
                    rrmdir($dir . DIRECTORY_SEPARATOR . $object);
                } else {
                    // Delete the item if it's a file
                    unlink($dir . DIRECTORY_SEPARATOR . $object);
                }
            }
        }

        // Once all items within the directory have been removed, remove the directory itself
        rmdir($dir);
    }
}

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