DevKB
Web Development Knowledge Base
HOME | TOP 20 | WRITE AN ARTICLE |
Sections :


RSS RSS Feed

Vous aussi, aidez les autres développeurs, publiez vos bouts de codes utiles et vos liens préférés ...
Publiez un article !


Valid HTML 4.0 Transitional

Plateforme d'envoi de gros fichiers en ligne
Script PHP de boutique en ligne
Mondes virtuels gratuits en 3D

Aurélie Dufour - - 15/05/2009 - vue 228 fois

Suppression de fichiers et de dossiers en PHP

Admettons que sur l'espace FTP de votre site, vous vouliez supprimer le contenu d'un dossier... Votre logiciel FTP vous indique le message suivant "Permission Denied..." . Plutôt gênant, mais en PHP, on peut contourner le problème et supprimer le contenu de ce dossier.

Voici une fonction pratique pour cela :

<?php 

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); ?>

Copiez-la dans un fichier que vous nommerez  "delete.php", et que vous placerez dans le dossier dont le contenu est à supprimer.

Dans un navigateur Web, allez à l'adresse "http://mon-site.tld/mon-dossier/delete.php" : vous verrez à l'écran s'afficher un log des opérations de suppression en cours... Vous vous apercevrez sur votre compte FTP que les fichiers sont effectivement effacés, y compris le fichier "delete.php".

Attention !!!

Cette méthode certes pratique est un peu "bourrin" : je vous conseille de faire une sauvegarde préalable du dossier à supprimer (comme d'ailleurs pour toute autre opération de suppression que vous feriez habituellement!). On ne sait jamais, perdre un fichier de configuration qui est pourtant utile au bon fonctionnement du site, c'est rageant !




Write a comment :
Your name :     E-mail (optional) :

AntiSpam : please write the result of 498 x 787 =