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 :

Exclure des fichiers de la suppression


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut Exclure des fichiers de la suppression
    Bonjour,

    Dans un répertoire tempo, j'ai les fichiers suivants :

    index.html
    articles.txt
    articles.zip
    image.png
    image.gif
    image.jpeg

    J'aimerias supprimer tout les fichiers sauf ceux-xi :

    index.html
    articles.txt

    Avec ce code tout les fichiers sont supprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $contenu = array(); 
      $ressources = dir("tempo/"); 
        while($lecture = $ressources->read()){ 
            if($lecture != "." && $lecture != ".."){ 
                $contenu[] = $lecture; 
            } 
        } 
        $ressources->close(); 
     
        foreach($contenu as $v){ 
          @unlink("tempo/".$v); 
        }
    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($lecture != "." && $lecture != ".." && $lecture != "index.html" && $lecture != "articles.txt"){
    plus élégamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $donttouch = array(".", "..", "index.html", "articles.txt");
    if(!in_array($lecture, $donttouch)){
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Voila un nouveau code qui fonctionne selon l'extension voule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $extension = array('zip','rar');
    $contenu = array();
      $ressources = dir("tempo/");
        while($lecture = $ressources->read()){
            if($lecture != "." && $lecture != ".."){
                $contenu[] = $lecture;
            }
        }
        $ressources->close();
     
        foreach($contenu as $v){
            $ext = pathinfo("tempo/".$v,PATHINFO_EXTENSION);
            if(in_array($ext,$extension)){
                @unlink("tempo/".$v);
            }
        } 
    ?>
    Mais comment le faire fonctionner selon des noms+extensions ?

    Par exemple je ne veux pas supprimer les fichiers contenant le mot news et qui ont l'extension zip ?

    Merci.

  4. #4
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Voila le code.

    A corriger s'il y a des erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
    <?php
    $extension = array('zip','php','html');
    $files = array();
    $contenu = array();
      $ressources = dir("save/");
      echo "Files in directory save :<br />";
        while($lecture = $ressources->read()){
    		echo "file =".$lecture."<br />";
            if($lecture != "." && $lecture != ".."){
                if(preg_match('/(index|news)/i',$lecture)){
                    array_push($files,$lecture);
                }
                $contenu[] = $lecture;
            }
        }
        $ressources->close();
     
    	echo 'contenu<br/><pre>';
        print_r($contenu);
        echo  '</pre>';
     
    	echo 'files<br /><pre>';
        print_r($files);
        echo  '</pre>';
     
    	echo "files to delete :<br />";
        foreach($contenu as $v){
            $ext = pathinfo("tempo/".$v,PATHINFO_EXTENSION);
    		echo "Current file = ".$v."  |  ext = ".$ext."<br />";
     
    		if(!in_array($ext,$extension) && !in_array($v,$files)){
    			echo "==>  delete : ".$v."<br />";
                @unlink("save/".$v);
    		}
        } 
    ?>
    Merci.

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

Discussions similaires

  1. Exclure des fichiers d'un war
    Par tweetysat dans le forum Maven
    Réponses: 7
    Dernier message: 18/09/2013, 10h21
  2. Exclure des fichiers
    Par Franck.H dans le forum Code::Blocks
    Réponses: 8
    Dernier message: 08/05/2013, 23h17
  3. OpenFileDialog exclure des fichiers
    Par nanar21 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 15/08/2009, 10h17
  4. Peut on exclure des fichiers d'un projet
    Par coolben dans le forum Eclipse
    Réponses: 0
    Dernier message: 08/10/2008, 22h36
  5. export WAR - exclure des fichiers et / ou repertoire
    Par jokerparis dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 27/03/2007, 17h52

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