Script PHP : Supprimer le contenu d'un dossier de manière récursive
                        Florian JOURNEAU
                            
                        
                        04 janvier 2021
                    
                
                    Catégorie :
                    PHP
                
                
                            
        Il n'existe pas de fonction native dans PHP pour supprimer le contenu d'un dossier de manière récursive, néanmoins, il est facile d'écrire un script qui le fait.
Je me suis penché dessus récemment et je me le note pour le retrouver facilement par la suite.
Pour supprimer le contenu d'un dossier on fera donc :
Je me suis penché dessus récemment et je me le note pour le retrouver facilement par la suite.
    /**
     * Supprime le contenu d'un dossier de manière récursive
     * 
     * @param string $dir Chemin du dossier a supprimer
     * @return void
     */
    function rmdirRecursive($dir) : void
    {
        foreach (glob($dir . "/*") as $item) {
            if (is_dir($item)) {
                rmdirRecursive($item);           
                rmdir($item); 
            } else {
                unlink($item);
            }
        }
    }
Pour supprimer le contenu d'un dossier on fera donc :
rmdirRecursive(__DIR__ . '/tmp/cache');
// Si on veut également supprimer le dossier cache :
rmdir(__DIR__ . '/tmp/cache');