Supprimer un dossier récursivement

Supprimer un dossier récursivement

Tags : PHP
Catégorie : Programmation
Mise en ligne : 22 Novembre 2013 à 00:00

Si vous en avez assez de devoir effacer à la main tout les dossiers et sous dossier sur votre FTP car la fonction rmdir(); de php vous dit que le dossier n\'est pas vide et bien voici une petite fonction qui vous aidera :

Comme vous pouvez le voir, le script est hyper simple mais cela vous fera sans doute gagner du temps

Source

function deleteRecursive($dir) {
    if (is_dir($dir)) {
        $objects = scandir($dir);
        foreach ($objects as $object) {
            if ($object != \".\" && $object != \"..\") {
                if (filetype($dir . $object) == \"dir\")
                    deleteRecursive($dir . $object); else
                    unlink($dir . $object);
            }
        }
        reset($objects);
        rmdir($dir);
    }
}

$dir = \"../dossier/\";
$folders = scandir($dir);

// Supprime \'.\' et \'..\' du tableau
unset($folders[0], $folders[1]);

foreach ($folders as $f) {
    deleteRecursive($dir . $f);
}

<Laisser un commentaire/>

* Champs obligatoire