Effacer dossiers et fichiers récalcitrants

Contenu du snippet

Qui n'a pas eu ce problème un jour, un dossier ou un fichier que votre client FTP ne peut pas effacer, en vous sortant un joli message "error 550". C'est une question de droits.. Ces fichiers ont été créés par le serveur via un script que vous avez précédemment utilisé. Il va donc falloir utiliser le même principe pour les effacer.
Placez ce script dans un fichier exemple "supp.php" et placez-le à la racine des dossiers que vous souhaitez effacer
!!!!!!!!!!!!!!!!!!
Il effacera tous les fichiers et dossiers, y compris lui-même, situé à son niveau et en dessous.

Source / Exemple :


<? function supp($target,$verbose=false) {
  $exceptions = array('.','..');
  if (!$sourcedir=@opendir($target)) {
    echo "<strong>Erreur : ouverture impossible ($target)</strong><br />\n";
    return false;
  }
  while(false!==($sibling=readdir($sourcedir))) {
    if(!in_array($sibling,$exceptions)) {
      $object=str_replace('//','/',$target.'/'.$sibling);
      if(is_dir($object)) supp($object);
      if(is_file($object)) {
        echo '<strong>'.$object."</strong> : ";
        $result=@unlink($object);
        if ($result)echo "Fichier supprimé<br />\n";
          else echo "<strong>!!! Suppression du fichier impossible</strong>\n";
      }
    }
  }
  closedir($sourcedir);
  if($result=@rmdir($target)) {
    echo "Suppression terminée<br /><hr>\n";
    return true;
  }
}

supp("./", true); ?>

Conclusion :


Le petit script utile pour réinitialiser son espace web ...

Je n'en suis pas l'auteur (trouvé avec grande difficulté, sur ce post "http://www.conseil-creation.com/forums/ftopic739-0-asc-15.php"

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.