begin process at 2012 05 27 20:29:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > SUPPRIMER 1 U PLUSIEURS RÉPERTOIRES ET TOUT CE QU'IL Y A DEDANS

SUPPRIMER 1 U PLUSIEURS RÉPERTOIRES ET TOUT CE QU'IL Y A DEDANS


 Information sur la source

Note :
7,83 / 10 - par 6 personnes
7,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :suppression, répertoire, dossier, récursivité, rmdir Niveau :Débutant Date de création :31/08/2005 Date de mise à jour :31/08/2005 17:18:25 Vu :7 972

Auteur : malalam

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

 Description

Toujours pour suivre la mode des fonctions sur fichiers :-) voici une fonction permettant de supprimer un ou plusieurs répertoires, et tout ce qu'ils contiennent.

Elle s'appelle avec un tableau, contenant les répertoires à supprimer.
attention, chemin relatif à la page où vous éxécutez le script, évidemment.

bool supprimer_rep (array sources)

Source

  • <?php
  • // bool supprimer_rep (array sources)
  • function supprimer_rep ($tableau) { // fonction pour supprimer un ou plusieurs repertoires et tout ce qu'il y a dedans
  • foreach ($tableau as $dir) {
  • if (file_exists ($dir)) {
  • $dh = opendir ($dir);
  • while (($file = readdir ($dh)) !== false ) {
  • if ($file !== '.' && $file !== '..') {
  • if (is_dir ($dir.'/'.$file)) {
  • $tab = array ($dir.'/'.$file);
  • supprimer_rep ($tab); // si on trouve un repertoire, on fait un appel recursif pour fouiller ce repertoire
  • }
  • else {
  • if (file_exists ($dir.'/'.$file)) {
  • unlink ($dir.'/'.$file); // si on trouve un fichier, on le supprime
  • }
  • }
  • }
  • }
  • closedir ($dh);
  • if (is_dir ($dir)) {
  • rmdir ($dir); // on supprime le repertoire courant
  • }
  • return true;
  • }
  • }
  • }
  • supprimer_rep (array ('test2'));
  • ?>
<?php

// bool supprimer_rep (array sources)

function supprimer_rep ($tableau) { // fonction pour supprimer un ou plusieurs repertoires et tout ce qu'il y a dedans
	foreach ($tableau as $dir) {
	if (file_exists ($dir)) {
    	$dh = opendir ($dir);
    	while (($file = readdir ($dh)) !== false ) { 
    		if ($file !== '.' && $file !== '..') {
    			if (is_dir ($dir.'/'.$file)) {
    				$tab = array ($dir.'/'.$file);
    			  supprimer_rep ($tab); // si on trouve un repertoire, on fait un appel recursif pour fouiller ce repertoire
    			}
    			else {
    				if (file_exists ($dir.'/'.$file)) {
    					unlink ($dir.'/'.$file); // si on trouve un fichier, on le supprime
    				}
    			}
    		}
    	}
    	closedir ($dh);
    	if (is_dir ($dir)) {
    		rmdir ($dir); // on supprime le repertoire courant
    	}
    return true;
    }
  }
}

supprimer_rep (array ('test2'));
?>



 Historique

31 août 2005 17:18:25 :
viré des warnings

 Sources du même auteur

Source avec Zip ASTUCES/HACK PHP
SQUELETTE DE GESTION DES DROITS
[PHP 5.1] CLASS STRING : NOUVEL EXEMPLE SUR LA SPL
Source avec Zip Source avec une capture [PHP 5.1] PHOTOPHOP (PHPDRAW 2)
Source avec Zip Source avec une capture [PHP5.1] O-LOC : CLASSE ET BACKOFFICE D'INTERNATIONALISATION

 Sources de la même categorie

SUPPRESSION AUTOMATIQUE DES FICHIERS RAW ORPHELINS APRÈS UN ... par malokaff
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

 Sources en rapport avec celle ci

EFFACER DOSSIERS ET FICHIERS RÉCALCITRANTS par Stephane33
GÉNÉRATION RÉCURSIVE D'UNE ARBORESCENCE DE RÉPERTOIRES par webdeb
PARCOURIR UN RÉPERTOIRE ET SES SOUS SOUS SOUS... RÉPERTOIRE ... par micmonay
Source avec Zip GALLERIE D'IMAGE CONSTRUITE PAR APPELS RÉCURSIFS DANS UN RÉP... par satanik_mike
SUPPRESSION D'UN DOSSIER VIDE par kohntark

Commentaires et avis

Commentaire de garfield90 le 31/08/2005 11:13:29

malalam, plutot de faire un source pour chaque fonction sur un ou plusieurs repertoires/fichiers, serait il pas mieux de faire une bibliotheque de fonction ou encore une classe permettant de toutes les regroupées plutot que de devoir les postées une a une.

Je trouve ca plus pratique d'avoir un fichier a prendre plutot que plusieurs petit bout de code a prendre en plus pour toi si tu fais une mise a jour, ca sera plus simple de modifier un fichier que plusieurs.

Sinon pour tes codes sont bien foutu ( tu t'emmerdes vraiment a ton taf pour avoir le temps de faire ca ;) )





Commentaire de malalam le 31/08/2005 11:21:19 administrateur CS

An fait, j'ai hésité. le problème c'est que des fonctions comme ça, j'en ai plein...lol. je les ai regroupées déjà avec une interface dans ma source explorateur PHP.
Donc là, c'est transformé en fonction, (l'explorateur étant une GUI en fait, sous forme de classes), pour être utilisé au coup par coup dans des scripts divers.
Donc oui j'aurais pu regrouper, mais ça m'aurait obligé à faire un package et je n'aurai pas franchement le temps. Et ça a l'avantage de se rechercher plus facilement sur le moteur de recherche de CS.

mais bon, pourquoi pas, par la suite, je ferai un gros package :-)

Et oui, j'ai pas gdchose à faire dans mon nouveau taf malheureusement : ils sont débordés, et jusqu'à demain n'ont pas le temps de s'occuper de moi ;-) alors je m'auto-forme, et je prends un peu de temps pour moi aussi lol.

Commentaire de malalam le 31/08/2005 11:22:17 administrateur CS

Ah, et merci pour le code bien foutu ;-)

Commentaire de coucou747 le 03/09/2005 20:39:13 administrateur CS

  if (file_exists ($dir)) {

id_dir ne serait pas un meilleur choix ici ?

anthomicro avait dit que is_file était plus rapide que file_exists si le fichier existait, peut-être est-ce la même chose pour les répertoires...

Commentaire de malalam le 05/09/2005 08:50:08 administrateur CS

Là en l'occurence ce serait, justement, plutôt is_file () vu que je cherche à savoir si $file es un fichier, pour le supprimer dans ce cas (unlunk). ceci dit, j'ai mis file_exists () parce qu'il me semble que j'avais des soucis sinon, mais je vais réessayer, si c'est plus rapide.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

pb de suppression de dossier [ par ronanf235 ] bonjourpetit post pour demander comment supprimer un dossier sous windows, ou plutot comment se debrouiller avec les droits...voici mon code de creati Suppression de dossier foireuse :s [ par hyipicai ] bonjour a toutes et tous, voila j'ai un souci en phpj'ai un explorateur de dossier qui me permet de creer des dossiers [code]umask(0777);if (!(mkdir($ redirection d'un répertoire vers ssl [ par titeuf974 ] Bonjour,Je souhaiterai rediriger les pages d'un r&#233;pertoire vers les protocle ssl. Pour cela. j'utilise un htaccess : Redirect /dossier_a_redirige Gestion de fichiers [ par shadow1779 ] Bonjour,j'aimerai apprendre le plus possible sur la gestion de fichiers en php, c'est a dire:-suppression d'un fichier-création/suppression d'un dossi creer un répertoire dans un répertoire [ par mouloudikhaled ] Bonjour a tous, S'il vous plait. j'essaye de crée un dossier dans un dossier mais je n'y arrive pas. Pouvez vous me dire comment dois-je procédé ? Mer Verifier si un répertoire est présent sur le server [ par thedjpredator ] Bonjour,Jai un petit problème jai réalisé un petit système de navigation entre répertoiresde mon site du style :/dossier1//dossier2//dossier3/...Avec rmdir [ par abdoulax ] Bonjours, Je voudrais utiliser l'instruction rmdir pour supprimer un r&#233;pertoire, cependant cette commande ne marche pas. Pourtant je me suis assu la fonction rmdir ... [ par Teclis01 ] Bonjour !Voila j'ai une petite question suite a un petit soucis ...je m'explique!Je voulais utiliser la fonction rmdir pour effacer un dossier, cette ftp_put qui plante ??!! bizarre .... [ par chamallow ] Rebonjour encore et encore :)Bon ben j'ai encore des problèmes mais là je trouve que c'est bizarre et même l'admin a pas compris!Bon alors je me conne script de suppression de fichier temporaire [ par belzebate ] Bonjour, Je vous explique mon soucis. J'ai un script PHP qui me créer un fichier temporaire dans un répertoire spécifique contenant exclusivement des


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,608 sec (4)

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