begin process at 2012 02 15 19:11:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > EFFACER RÉCURSIVEMENT UN RÉPERTOIRE

EFFACER RÉCURSIVEMENT UN RÉPERTOIRE


 Information sur la source

Note :
6 / 10 - par 6 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Expert Date de création :25/05/2001 Vu :11 360

Auteur : Romuald

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cette fonction permet d'effacer un répertoire présent sur votre serveur avec tout ce qui se trouve à l'intérieur (y compris les sous-répertoires)

Source

  • <?php
  • function rdel($path, $deldir = true) {
  • // $path est le chemin relatif au fichier php
  • // $deldir (paramètre optionel, par défaut à vrai) permet de dire si vous souhaitez supprimer le répertoire (vrai) ou le vider uniquement (faux)
  • // on vérifie d'abord que le nom du repertoire contient "/" à la fin, sinon on le lui rajoute
  • if ($path[strlen($path)-1] != "/")
  • $path .= "/";
  • if (is_dir($path)) {
  • $d = opendir($path);
  • while ($f = readdir($d)) {
  • if ($f != "." && $f != "..") {
  • $rf = $path . $f; // chemin relatif au fichier php
  • if (is_dir($rf)) // si c'est un répertoire on appel récursivement la fonction
  • rdel($rf);
  • else // sinon on efface le fichier
  • unlink($rf);
  • }
  • }
  • closedir($d);
  • if ($deldir) // si $deldir est vrai on efface le répertoire
  • rmdir($path);
  • }
  • else {
  • unlink($path);
  • }
  • }
  • ?>
<?php
function rdel($path, $deldir = true) {
        // $path est le chemin relatif au fichier php
        // $deldir (paramètre optionel, par défaut à vrai) permet de dire si vous souhaitez supprimer le répertoire (vrai) ou le vider uniquement (faux)

        // on vérifie d'abord que le nom du repertoire contient "/" à la fin, sinon on le lui rajoute
        if ($path[strlen($path)-1] != "/")
                $path .= "/";

        if (is_dir($path)) {
                $d = opendir($path);

                while ($f = readdir($d)) {
                        if ($f != "." && $f != "..") {
                                $rf = $path . $f; // chemin relatif au fichier php

                                if (is_dir($rf)) // si c'est un répertoire on appel récursivement la fonction
                                        rdel($rf);
                                else // sinon on efface le fichier
                                        unlink($rf);
                        }
                }
                closedir($d);

                if ($deldir) // si $deldir est vrai on efface le répertoire
                        rmdir($path);
        }
        else {
                unlink($path);
        }
}
?>   

 Conclusion

Attention, il est possible que sous Windows il faille modifier le code pour les délimiteurs de répertoire, remplacez alors les "/" par des "\\"


 Sources du même auteur

CHARGE DE LA MACHINE
Source avec Zip PARSEUR DE DATES
Source avec Zip CLASSE POUR UTILISER LES SOCKETS
TRANSFORMER UNE URL EN LIEN CLIQUABLE
TESTER LA VALIDITÉ D'UN E-MAIL

 Sources de la même categorie

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151
TROUVER LES DOUBLONS DANS UNE LISTE DE FICHIERS par soobook

Commentaires et avis

Commentaire de watoowatoo le 16/01/2003 23:21:00

Plus simple encore : exec ("rm -Rf monrepertoire");

Commentaire de debhian le 31/07/2003 19:29:22

"exec ("rm -Rf monrepertoire");"
sur un hebergement windows, ou quand la fonction est interdit, sa doit bien marché dis donc ...

"Ptet pas nivo 3 qd mm"
kel genre de code serai nivo 3 ? car on ma dit pareil et je vois pas de source plus compliquer que ce que je vois ..

Commentaire de Sparco le 26/08/2003 19:36:11

q? -&gt;est-ce que on peut faire une suppression sélective
style que les fichiers txt ?
merci

Commentaire de Tutti10 le 02/09/2003 19:15:16

ça marche très bien. (même si j'ai pa tt compris en détail :p)
Je mets 9.

Commentaire de coucou747 le 12/09/2005 21:08:46 administrateur CS

salut, tu ne vérifie pas les droits, donc, la sortie de unlink peut être false, donc, tu n'est pas sur que ton fichier soit suprimé... (auquel cas, renvoyer false et stoper la supression...)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 11,232 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales