Bonjour à tous,
Jai une erreur que je n'arrive pas à comprendre..je parcours recursivement un dossier afin de le supprimer avec unlink :
Voici mon code :
Tout marche correctement, sauf que pour le dernier fichier présent impossible de le supprimer : Permission Denied pourtant j'ai les droits dessus et je peux le supprimer à la main. Du coup le répertoire racine ne se supprime pas car il est non vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 sub supprimerRepertoireTmp ($) { my $self = shift; my ($Dir) = @_; my (@fichiers,$fic); opendir(DIR,$Dir) || Lib::Log::erreur("Impossible d'ouvrir le dossier: $Dir"); @fichiers=readdir(DIR); closedir(DIR); foreach $fic (@fichiers) { if (($fic ne ".") && ($fic ne "..")) { if (-d "${Dir}/$fic") { $self->supprimerRepertoireTmp("${Dir}/$fic"); } else { my $file="${Dir}/${fic}"; unlink($file) || Lib::Log::avertissement("Impossible de supprimer le fichier: ${Dir}/${fic}"); } } } rmdir($Dir) || Lib::Log::avertissement("Impossible de supprimer le dossier: $Dir"); return(1); }
J'ai essayer de rajouter des chmod(0777,$file) mais rien n'y fait.
Peut-être vous auriez quelques pistes!
Merci
Partager