Suppression dossier

Résolu/Fermé
astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 - 27 mai 2016 à 19:23
astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 - 28 mai 2016 à 08:11
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 38312 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
27 mai 2016 à 19:39
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 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
28 mai 2016 à 08:11
Merci Jordan, ça marche impeccable :)
0