Suppression de fichier ou dossier

Par ouatoo, il y a 6 ans


Bonjour,
j'essaie de modifier mon portfolio en d'autre terme je veux supprimer le dossier portfolio et remplacer au besoin mais la fonction rmdir() ne fonction pas car il y'a des fichiers. y'a t'il une fonction pour supprimer les fichiers en bloc ou le dossier...

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

3 réponses

Lartak, il y a 6 ans

Bonjour.
J'espère que le script qui doit effectuer cette commande ne se trouve pas dans le dossier portfolio, car dans ce cas là ça ne pourra jamais fonctionner.
Il te faut d'abord supprimer les fichiers avant de vouloir supprimer un dossier, tu ne peux pas faire autrement.

ouatoo, il y a 6 ans

les fichiers sont inserrés en boucle donc je n'arrive pas "a supprimé directement
//essaie de traitement portfolio
$name_folio = $files['name'];
$tmp_name_folio = $files['tmp_name'];
$error_folio =$files['error'];
if(count($tmp_name_folio ) === 3 || count($tmp_name_folio ) === 6){
for($i =0 ;$i< count($tmp_name_folio);$i++){
$name_folio_ex[$i] = explode('.',$name_folio[$i]);
$name_folio_ext[$i]= strtolower(end($name_folio_ex[$i]));

if(in_array($name_folio_ext[$i],['jpg','jpeg','png','gif'])){
    if($error_folio[$i] === 0){
        $name_folio_new[$i] =  uniqid('', true).'.jpg';
        $directionFinal1 = 'assets/img/'.$name_folio_new[$i];
       move_uploaded_file($tmp_name_folio[$i], $directionFinal1) ;
       $directionFinal2 = $directoryfolio.'/'.$name_folio_new[$i];
     if(file_exists($directionFinal2)){
         unlink($directionFinal2);
         Img::creerMin($directionFinal1,$directoryfolio,$name_folio_new[$i]);
     } else{
        Img::creerMin($directionFinal1,$directoryfolio,$name_folio_new[$i]);  
     } 
    }else{
        $errors ='une erreur c\'est produite'; 
        $Session->setFlash($errors);
    }
}else{
    $errors ='le format du fichier n\'est pas accepter     ';
    $Session->setFlash($errors);
}

}
}else{
$errors = 'vous dévez soumettre 3 ou 6 photos.';
$Session->setFlash($errors);
}

ouatoo, il y a 6 ans

oh confinement oblige , j'ai fini par trouver une solution, je vais utiliser la fonction glob() pour recuperer les fichiers et les supprimer un par un . merci bcp.