begin process at 2012 05 27 20:37:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > TOUTE PETITE FONCTION QUI EFFACE UN REPERTOIRE NON VIDE

TOUTE PETITE FONCTION QUI EFFACE UN REPERTOIRE NON VIDE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :effacer, répertoire, fonction, récursive Niveau :Débutant Date de création :31/12/2003 Date de mise à jour :18/06/2004 12:36:32 Vu :4 059

Auteur : Gorrk

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

 Description

C'est interressant car la fonction s'appelle elle même.

Respect de la présentation standard decrite ici : http://classes.scriptsphp.net:81/article.conventio n-de-codage

Source

  • <?php
  • /**
  • * @return boolean true si le repertoire $dir et vide, false sinon.
  • * @param string $dir Nom du repertoire a inspecter.
  • * @desc Verifie si un repertoire est vide.
  • **/
  • function is_empty($dir)
  • {
  • $handle = @opendir($dir);
  • @readdir($handle);
  • @readdir($handle);
  • if (false != @readdir($handle)) return false;
  • else return true;
  • }
  • /**
  • * @return -
  • * @param string $dir Nom du repertoire a effacer.
  • * @desc Efface entierement un repertoire. Necessite la fonction is_empty().
  • **/
  • function rm_tree($dir)
  • {
  • if ("/" == substr($dir,strlen($dir)-1,1)) $dir = substr($dir,0,strlen($dir)-1);
  • if (false == file_exists($dir))
  • {
  • echo "<font color=\"#FF0000\">Erreur : '".$dir."' n'existe pas.</font><br>\n";
  • return;
  • }
  • if (is_empty($dir))
  • {
  • rmdir($dir);
  • return;
  • }
  • $handle = @opendir($dir);
  • @readdir($handle);
  • @readdir($handle);
  • while ($file = @readdir($handle))
  • {
  • $file = $dir."/".$file;
  • if (is_dir($file))
  • {
  • if (is_empty($file)) rmdir($file);
  • else rm_tree($file);
  • } else unlink($file);
  • }
  • rmdir($dir);
  • }
  • ?>
<?php
/**
* @return boolean true si le repertoire $dir et vide, false sinon.
* @param string $dir Nom du repertoire a inspecter.
* @desc Verifie si un repertoire est vide.
**/
function is_empty($dir)
{
    $handle = @opendir($dir);
    @readdir($handle);
    @readdir($handle);
    if (false != @readdir($handle)) return false;
    else return true;
}

/**
* @return -
* @param string $dir Nom du repertoire a effacer.
* @desc Efface entierement un repertoire. Necessite la fonction is_empty().
**/
function rm_tree($dir)
{
    if ("/" == substr($dir,strlen($dir)-1,1)) $dir = substr($dir,0,strlen($dir)-1);
    if (false == file_exists($dir))
    {
        echo "<font color=\"#FF0000\">Erreur : '".$dir."' n'existe pas.</font><br>\n";
	    return;
    }
    if (is_empty($dir))
    {
        rmdir($dir);
        return;
    }
    $handle = @opendir($dir);
    @readdir($handle);
    @readdir($handle);
    while ($file = @readdir($handle))
    {
        $file = $dir."/".$file;
        if (is_dir($file))
        {
            if (is_empty($file)) rmdir($file);
            else rm_tree($file);
        } else unlink($file);
    }
    rmdir($dir);
}
?>

 Conclusion

rm_tree() necessite is_empty().


 Sources du même auteur

DÉBUT DE CLASSE ABSTRAITE POUR UNE MEILLEUR GESTION DES PROP...
Source avec Zip CLASSE POUR CREER UN OBJET DYNAMIQUE PHP5
Source avec Zip CLASSE D'EXCEPTIONS ET DE GESTIONS D'ERREURS PHP5
Source avec Zip FONCTION PRATIQUES POUR MANIPULER LES PARAMETRES HTTP
Source avec Zip CLASSE DE NEWS PHP5

 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

CLEF POUR EAN 13 ET 14 par RaftY
FONCTION _SCANDIR UTF8 par LDDL
Source avec Zip FONCTION PHP POUR REDIMENSIONNER UNE IMAGE ET UPLOADER DANS ... par GstJasmin
FONCTION QUI VÉRIFIE SI L'ARGUMENT EST UN NOMBRE PREMIER par darkelda
COURTE ET SIMPLE FONCTION RÉCURSIVE POUR LECTURE DE RÉPERTOI... par mbdx

Commentaires et avis

Commentaire de thankol le 23/06/2004 20:38:08

Salut

j'ai testé ton script et il me supprime les fichiers du répertoire et sous répertoire mais pas les repertoires eux mêmes !?!

peut etre est ce un problème de droit ...

Fab

Commentaire de dandy54000 le 09/10/2004 19:17:04

simple, efficace, le code m'a l'air plutôt propre, c'est ce que je cherche , 9 !

Commentaire de dandy54000 le 09/10/2004 19:18:32

(modification), le code est propre

Commentaire de Gorrk le 10/10/2004 17:35:31

Oki, merci beaucoup pour les compliment, je rougis, lol, sinon pour le probleme des repertoires qui ne s'effece pas, effectivement ca m'a l'air d'un probleme de droit.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Fonction récursive [ par Trigun222 ] Salut, j'ai trouvé un script qui répond à mes exigences seulement le problème c'est qu'il est illisible et je ne sais pas ou il faut mettre le réperto Droit d'accès à un répertoire en fonction de l'heure [ par jack ] Bonjour à tousC'est mon premier post en dehors de vbfrance, soyez indulgents, je connais pas grand chose au php !La question : Est-il pensable de modi effacer un fichier dans un répertoire distant [ par Fabrizio61 ] Salut &#224; tous.Peut-on effacer un fichier dans un r&#233;pertoire distant (site distant) ?D'avance merci. Comment savoir si un élément distant est un répertoire [ par onesdf ] Bonjour à tous,J'ai monté un partage réseau dans /mnt/smb, mais quand je veux savoir si les éléments de ce dossier sont des fichiers ou des dossiers, fonction de gestion des répertoire [ par gasspirat ] je cherche une fonction php qui permet de criation de sous dossier dans un répertoire , et une autre pour renommé ces sous dossiermerci pb de fonction récursive sur une arborescence sur une base SQL [ par ludovicanceaux ] Salut à tous, J'ai un menu sur plusieurs niveaux stocké dans ma base de donnée et j'ai un pb dans ma fonction récursive, ca fait depuis hier, que j 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 Recherche la presence d'acrobat reader sur un PC [ par olst59 ] Bonjour, je suis actuellement en stage et je doit devellopper un site intranet.&nbsp;mon tuteur m'a demander de tester si acrobat reader est install&# Probleme fonction is_file [ par CptPingu ] Bonjour,Je possede un site sous free. Tout marchait bien, mais depuis quelques jours certaines fonctions ont l'air de ne plus fonctionner. Lorsque je fonction mail() [ par LaTatadu91 ] Bonjour,je travaille en local avec wamp et je voudrais tester une fonction de mailet voici l'erreur retournéWarning: mail(): Failed to connect to mail


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

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