Cette courte fonction permet de supprimer un dossier si et seulement si celui ci est vide.
La fonction retourne :
0 si le dossier n'existe pas ou est inaccessible
1 si la destruction réussie
2 si le dossier n'est pas vide
Source / Exemple :
function del_empty_folder ($folder) {
if (is_dir($folder)) { // controle que le dossier existe
$i=0;
$fh=opendir($folder); // ouverture du dossier
while(($fichier = readdir($fh))!==false) { // parcours le dossier
$i++; // incremente a chaque élément trouvé
if ($i<=2) continue; // reboucle directement tant que l'index n'est pas representatif
return 2; // le dossier n'est pas vide
}
if ($i<=2) { // le dossier ne contient que 2 éléments (. et ..) donc il est vide :-)
closedir($fh); // fermeture du pointeur du dossier
rmdir($folder); // suppression du dossier
return 1; // dossier effacé
}
} else return 0; // le dossier n'existe pas ou est inaccessible
}
del_empty_folder('nom_du_dossier/');
Conclusion :
Rien de plus banal pour l'utilisation :
del_empty_folder('nom_du_dossier_a_supprimer');
J'ai fortement hésité avant de la poster ... beaucoup diront qu'il y en existe des milliers (pas si sur ...) et qu'elle est d'une simplicité enfantine, soit, mais si elle peut aider c'est déjà ça !!
############################################
Autre solution ultra épurée :
if (@!rmdir($folder)) echo 'le dossier n\'est pas vide';
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.