IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Supprimer les fichiers d'un dossier et sous-dossier mais pas les repertoires [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Supprimer les fichiers d'un dossier et sous-dossier mais pas les repertoires
    Bonjour,
    J’essaie de me créer une fonction qui supprimerais tout les fichiers d'un répertoire et de ses sous(-sous...)-répertoire mais sans supprimer les dossiers.

    Voilà ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function suppr_fichier($dossier){
    	$rep = opendir($dossier);
    	while ( $fichier = readdir($rep)) {
    		if ($fichier!= ".." AND $fichier != "." AND is_dir($fichier)){
    			closedir($dossier);
    			rep($dossier.'/'.$fichier);
    		}
    		elseif ($fichier!= ".." AND $fichier != "." AND !is_dir($fichier)){
    			unlink($dossier.'/'.$fichier);
    		}
    	}
    }
    Évidemment ça ne fonctionne pas :
    Warning: unlink(**sous-dossier**) [function.unlink]: Is a directory in monfichier.php line 12

    De plus c'est plutôt le bazar du coté des opendir/closedir...
    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    En procédural / récursif, c'est pas trop mal mais avec de l'object ça devient carrément dément ! Regarde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $dir = new RecursiveDirectoryIterator('C:/test/');
    $it  = new RecursiveIteratorIterator($dir);
     
    foreach ($it as $item)
      unlink((string)$item);

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    waw..

    ça à l'air tellement plus simple...
    Je vais essayer ça, merci


    Edit : ça marche nickel ! Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Code pour supprimer tous les fichiers, sous-dossiers d'un dossier
    Par lio33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/04/2015, 19h26
  2. [XL-2007] lister les dossiers et sous dossiers et compter les fichiers
    Par barto92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/01/2013, 20h53
  3. Rediriger tout les fichiers quel que soit le sous-dossier
    Par DarkChamallo dans le forum Apache
    Réponses: 5
    Dernier message: 22/10/2010, 22h54
  4. [XL-2003] Lister les fichiers dans les dossiers et sous dossiers
    Par doncamelo dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/07/2010, 10h41
  5. Réponses: 1
    Dernier message: 18/02/2009, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo