2017-05-10 1 views
1

Comment supprimer tous les fichiers et répertoires du dossier un. Voici ma structure de dossier:supprimer des répertoires et des fichiers y compris des sous-répertoires et des fichiers dans des sous-répertoires (php)

folder structure

delete.php

<?php 

    function rrmdir($dir) { 
     $dir = 'C:xampp/htdocs/project/user/one'; 
     if (is_dir($dir)) { 
     $objects = scandir($dir); 
     foreach ($objects as $object) { 
      if ($object != "." && $object != "..") { 
      if (is_dir($dir."/".$object)){ 
       rrmdir($dir."/".$object); 
      } 
      else{ 
       unlink($dir."/".$object); 
      } 
      } 
     } 
     rmdir($dir); 
     } 
    } 

    ?> 

J'ai essayé le code que je reçois de here mais le code ne fait rien. Comme si la fonction ne fonctionnait pas.

+0

pouvez-vous essayer celui-ci, http://stackoverflow.com/questions/11613840/remove-all-files-folders-and-their-subfolders-with-php – manian

+1

Au début de la fonction, votre le réglage du répertoire, donc à chaque fois que vous appelez cette fonction, il va essayer de traiter le même répertoire. –

Répondre

0

Cela supprimera vos fichiers récursivement. Cela fonctionnera correctement, et assurez-vous d'avoir une sauvegarde de vos fichiers avant de les supprimer. Ici, nous utilisons glob fonction pour supprimer les fichiers de manière récursive.

<?php 

ini_set('display_errors', 1); 
function delete($filePath,$array=array()) 
{ 
    if(is_array($array) && count($array)>0) 
    { 
     foreach($array as $filePath) 
     { 
      if(is_dir($filePath)) 
      { 
       delete(glob($filePath."/*"));//first calling function itself to remove files first. 
       rmdir($filePath);//removing directory at the end. 
      } 
      else  
      { 
       unlink($filePath);//unlinking a file. 
      } 
     } 
    } 

} 
print_r(delete(glob("C:xampp/htdocs/project/user/one/*")));