begin process at 2010 03 21 12:18:23
  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 :10 025

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

Source avec Zip EFFACER LES FICHIERS IMAGES ( .PNG ), D'UN RÉPERTOIRE TEMPS ... par christophe0511
COURTE ET SIMPLE FONCTION RÉCURSIVE POUR LECTURE DE RÉPERTOI... par mbdx
Source avec Zip Source avec une capture GESTIONNAIRE DE FICHIERS | MYSQL PHP 5.X {NEMENTON PHP MANA... par Nementon
Source avec Zip Source avec une capture LISTE REPERTOIRE (DIR EN PHP) par mephistope
Source avec Zip LIRE UNIQUEMENT LES X DERNIERS OCTETS D'UN FICHIER DISTANT (... par Equilibrius

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

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...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,343 sec (3)

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