Vous êtes ici Codes PHP et MySQL > Fichiers-Répertoires > Effacer un repertoire et ses sous repertoires

 

Effacer un repertoire et ses sous repertoires

Ce script permet d'effacer un répertoire même s'il contient des fichiers ou des dossiers .
 
evanxg852000
Site de l'auteur voir
[2] sources en PHP voir
Code vu 4859 fois
Enregistré le 11 Mai 2009
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Effacer un repertoire et ses sous repertoires
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Effacer un repertoire et ses sous repertoires             */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts513-PHP.htm              */
/* Auteur         : evanxg852000                                              */
/* Date édition   : 11 Mai 2009                                               */
/* Website auteur : http://evansofts.com/homefr.php                           */
/*                                                                            */
/******************************************************************************/

//-Evance soumaoro(Evan-XG)-//
//-http://evansofts.com-//
//-efface un repertoire et ses sous repertoires-//
//-============================================-//


//-exemple-//
RepEfface('mondossier');

function RepEfface($dir)
{
    $handle opendir($dir);
    while($elem readdir($handle)) 
//ce while vide tous les repertoire et sous rep
    {
        if(is_dir($dir.'/'.$elem) && substr($elem, -22) !== '..' && substr(
$elem, -11) !== '.'//si c'est un repertoire
        {
            RepEfface($dir.'/'.$elem);
        }
        else
        {
            if(substr($elem, -22) !== '..' && substr($elem, -11) !== '.')
            {
                unlink($dir.'/'.$elem);
            }
        }
            
    }
    
    $handle opendir($dir);
    while($elem readdir($handle)) //ce while efface tous les dossiers
    {
        if(is_dir($dir.'/'.$elem) && substr($elem, -22) !== '..' && substr(
$elem, -11) !== '.'//si c'est un repertoire
        {
            RepEfface($dir.'/'.$elem);
            rmdir($dir.'/'.$elem);
        }    
    
    }
    rmdir($dir); //ce rmdir eface le repertoire principale
}
?>

 

Fonctions du code

: - (PHP 4, PHP 5)
: Lit une entrée du dossier - (PHP 4, PHP 5)
: Indique si le fichier est un dossier - (PHP 4, PHP 5)
: Retourne un segment de chaîne - (PHP 4, PHP 5)
: Efface un fichier - (PHP 4, PHP 5)
: Efface un dossier - (PHP 4, PHP 5)
Commentaires
Bonjour,

C'est un forum de développeur, certes, mais, on peut quand même faire un minimum d'effort pour l'orthographe, non ?

Effacer un repertoire et ses sous repertoires
 
J'ai également ce probléme d'orthographe, un développeur est une personne distraite, peu attentive à ce genre de chose.
Mais conçois les plus belle applications, écris un code clair et propre sans ce soucier du monde extérieur.
Ne jugez pas les mots, juste le code
 
bonjour,

que faut il faire pour supprimer un dossier qui ce trouver dans le dossier www/images/dossier a supprimer/ toto.jpg titi.jpg etc...


car le script me supprimer tout le contenue du repertoire www.


merci pour votre reponse
 
Il faut donner le chemin vers le dossier rien de plus.



Code:
RepEfface('mondossier');

Sinon il faut modifier la fonction ou la dupliquer pour ne supprimer que le contenu d'un dossier sans les sous dossiers.
Bref php c'est la liberté lol
 
comment modifier se code pour qu'il me supprime le dossier et les fichiers si ils ont été créé il y a plus d'une heure ?
 
Vous pouvez le faire en ajoutant 2 lignes

1° chercher l'age du fichier:

$fichier_time = time() - filemtime($dir.'/'.$elem); // l'age du fichier

2° et faire le test :

$fichier_time = time() - filemtime($dir.'/'.$elem); // l'age du fichier
if ($fichier_time > 3600) unlink($dir.'/'.$elem);

remplacer la ligne 47 par ces 2 lignes. 3600 etant le nombre de secondes par heure.
 
Si les fichiers et les dossiers ont été créé il y a plus d'une heure cela fonctionne tres bien . Mais si un dossier qui contient des fichiers qui ont été créé il y a moins d'une heure .J'ai un message d'erreur

Warning: rmdir(easytuto/090717) [function.rmdir]: Directory not empty in /home3/e/easytuto/www/signature/del4.php on line 61

La ligne 61 me donne ceci :             rmdir($dir.'/'.$elem);

Ne faudrait il pas donner la même condition aux dossiers qui ont moins d'une heure?

Comment créer cette condition ?

d'avance merci
 
La réponse à votre question est oui. Vous devez aussi faire le test sur les répertoires.

C'est le meme test car un répertoire est un fichier vide, vous le tester de la meme maniere qu'un fichier.

$repertoire_time = time() - filemtime($dir.'/'.$elem); // l'age du répertoire

if ($repertoire_time > 3600)  rmdir($dir.'/'.$elem);
 
ça fonctionne , grand merci pour la source et a KOogar pour sa precieuse aide
 
 mn problemme c ke je veux afficher une table base de données sur net avec des boutens  suprimer et modifier  pr l'utilisateur mé les boutens marchent  pa ?
 
 Excellent script, merci !
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Fichiers-Répertoires

 
 

PHP

 
 
 
PHP 5 Livre PHP

PHP 5
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité