Suppression dossier

Résolu
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   -  
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je ne parviens pas à supprimer un dossier avec serveur apache !

Le dossier est créé en php avec mkdir, et c'est bien apache qui le créer, et quand je vais voir les chmod je suis bien en 777.
j'utilise ce bout de code pour créer le dossier:

mkdir('../dossier');
chmod('../dossier', 0777);
Ceci "mkdir('../dossier',0777);" ne me donne pas 777 comme dans la doc php, mais 757, bref passons.

Et pour supprimer je fais un simple rmdir ('../dossier');

Un paramétrage à faire dans apache ?
Merci



A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

As tu jeté un oeil à ceci : https://www.commentcamarche.net/faq/12255-warning-rmdir-directory-not-empty

Déjà...Pense à activer l'affichage des erreurs php :
 error_reporting(E_ALL);

A mettre au début de tes pages PHP.


Ensuite,



function deleteDir($dirPath) {
    if (! is_dir($dirPath)) {
        throw new InvalidArgumentException("$dirPath must be a directory");
    }
    if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') {
        $dirPath .= '/';
    }
    $files = glob($dirPath . '*', GLOB_MARK);
    foreach ($files as $file) {
        if (is_dir($file)) {
            self::deleteDir($file);
        } else {
            unlink($file);
        }
    }
    rmdir($dirPath);
}

et pour les versions php supérieurs à 5.2 tu peux utiliser:
function deleteDir($dirPath){
 $it = new RecursiveDirectoryIterator($dirPath, RecursiveDirectoryIterator::SKIP_DOTS);
 $files = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
 foreach($files as $file) {
     if ($file->isDir()){
         rmdir($file->getRealPath());
     } else {
         unlink($file->getRealPath());
     }
 }
 rmdir($dirPath);
}



1
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
Merci Jordan, ça marche impeccable :)
0