Web Development Knowledge Base
| |
Sections :
Vous aussi, aidez les autres développeurs, publiez vos bouts de codes utiles et vos liens préférés ... Publiez un article ! 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 107 fois
Suppression de fichiers et de dossiers en PHPAdmettons 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 ! |