Supprimer un dossier et son contenue

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.
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.
Voir/déposer un commentaire (1) | Signaler un problème