Bonsoir, je suis en train de faire une fonction de suppression de dossier.
Celle-ci doit permettre de supprimer un dossier qui n'est pas vide (qui contient des dossiers, sous-dossiers et fichiers etc...).
J'essai donc avec une fonction récursive :
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 function effacer($dir) { if($objet = glob($dir."/*")) { foreach($objet as $obj) { if(is_dir($obj)) { effacer($obj); } else { unlink($obj); } } } rmdir($dir); } effacer('export/');
Seulement, cela ne fonctionne pas, j'ai un joli "Warning: rmdir(export/): Permission denied..."
Voici comment cela fonctionne :
J'ai un script export.php (celui dans lequel est la fonction), qui va créer le dossier export/ ainsi que des dossiers et des fichiers textes à l'intérieur.
Seulement, je dois le vider à chaque lancement du fichier export.php, c'est pour cela que j'utilise cette fonction qui va tout supprimer, avant que le script ne recréé le dossier export/ et tout ce qui va à l'intérieur.
C'est donc le script qui détermine les droits de chaque fichier/dossier.
export.php est d'origine en 777 et export/ est en 777.
Les autres dossiers et fichiers créés par export.php sont laissés en droits par défaut, et je viens de m'appercevoir que ce n'est pas 777, mais 755 pour les dossiers et 644 pour les fichiers !
Peut-être que le problème vient de là ?
Merci d'avance.
Partager