Supprimer un dossier et son contenue






Voici un petit code php permettant de supprimer un dossier et son contenue. Le script explore et supprime tout le contenu du dossier et le supprime.

La variable $dir est le chemin d'accès au dossier à supprimer
function advRmDir( $dir )
{
 
 // ajout du slash a la fin du chemin s'il n'y est pas
 if( !preg_match( "/^.*\/$/", $dir ) ) $dir .= '/';
 
 // Ouverture du repertoire demande
 $handle = @opendir( $dir );
 
 // si pas d'erreur d'ouverture du dossier on lance le scan
 if( $handle != false )
 {
 
  // Parcours du repertoire
  while( $item = readdir($handle) )
  {
   if($item != "." && $item != "..")
   {
    if( is_dir( $dir.$item ) )
     advRmDir( $dir.$item );
    else unlink( $dir.$item );
   }
  }
 
  // Fermeture du repertoire
  closedir($handle);
 
  // suppression du repertoire
  $res = rmdir( $dir );
 
 }
 else $res = false;
 
 return $res;
 
}
Exemple:
Si $dir = ''.$numero_dossier_supprimer.'';
function advRmDir( $dir )
{
 
 // ajout du slash a la fin du chemin s'il n'y est pas
 if( !preg_match( "/^.*\/$/", $dir ) ) $dir .= '/';
 
 // Ouverture du repertoire demande
 $handle = @opendir( $dir );
 
 // si pas d'erreur d'ouverture du dossier on lance le scan
 if( $handle != false )
 {
 
  // Parcours du repertoire
  while( $item = readdir($handle) )
  {
   if($item != "." && $item != "..")
   {
    if( is_dir( $dir.$item ) )
     advRmDir( $dir.$item );
    else unlink( $dir.$item );
   }
  }
 
  // Fermeture du repertoire
  closedir($handle);
 
  // suppression du repertoire
  $res = rmdir( $dir );
 
 }
 else $res = false;
 
 return $res;
 
}
 
/* ICI VOTRE CODE PERSO PHP*/
 
//on attribue la variable à $dir
$dir = ''.$numero_dossier_supprimer.'';
 
//on efface le tout
 advRmDir($dir);
 
Attention: la fonction rmdir() ne fonctionne pas sous certains hebergements gratuit comme FREE.

Catégorie PHP

Commentaire sur : Supprimer un dossier et son contenue