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

  1. ###raw>post.musername###
    Membre habitué
    Récupérer liste fichier et date modification
    Bonjour,

    Je cherche à récupérer la liste des fichier d'un dossier avec leur date de modification.
    Voici mon code

    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
    routeprincipale.get('/getListeFichiers', function (req, res, next) { 
            var dossier = req.query.dossier;
            const lesFichiers = new Array();
            fs.readdir(dossier, function(err, fichiers) {
                for (var ff in fichiers){
                    fs.stat(dossier + "\\" + fichiers[ff], function(err, stats){
                        var mtime = stats.mtime;
                        console.log(fichiers[ff])
                        lesFichiers.push(fichiers[ff]  + ">" + mtime);
                    });
                }            
                console.log(lesFichiers)
                res.send(fichiers);
            });
        });


    Les informations sont bien lu (les fichiers et les dates) mais ma variable "lesFichiers" ne se complète pas et du coup je récupère rien. De plus ma variable "fichiers[ff]" affiche toujours le même fichier (le dernier) dans la console.
    J'y perd un peu mon latin. Je maîtrise pas trop bien encore l'asynchrone et je pense que c'est mon problème

    Merci pour vos lumières
      0  0

  2. ###raw>post.musername###
    Membre habitué
    Faut enlever le callback dans la fonction "dateFichier"
    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
    routeprincipale.get('/getListeFichiers', function (req, res, next) { 
            var dossier = req.query.dossier;
            const lesFichiers = new Array();
     
            fs.readdir(dossier, function(err, fichiers) {
                    for (var ff in fichiers){                
                        var dat = dateFichier(dossier, fichiers[ff])
                        lesFichiers.push(dat + "    " + fichiers[ff]);
                }
                res.send(lesFichiers);
            });
        });
     
     
    function dateFichier(dossier,f){
        var data = fs.statSync(dossier + "\\" + f)
            var mtime = data.mtime;
            return mtime;
    }
      0  0

###raw>template_hook.ano_emploi###