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

Web Perl Discussion :

Connaître la date de dernière modification d'un fichier


Sujet :

Web Perl

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Connaître la date de dernière modification d'un fichier
    Bonjour

    Je voudrais savoir s'il existe une fonction qui permet d'afficher la date de dernière modification d'un fichier ?

    Merci
    .Olivier

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    oui biensur. Dans notre belle FAQ .
    http://perl.developpez.com/faq/perl/...r-les-fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my $fichier = "/home/Olivier_Regnie/toto.txt";
    my @info_fichier = stat($fichier);
     
    print "date dernier modification : $info_fichier[9]\n";
    voilà

  3. #3
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    La Faq, oui

    Cela affiche le nombre de secondes écoulées entre 01/01/1970 à la date de dernière modification. Ok, je comprends. Il me reste maintenant à convertir ce nombre afin d'obtenir un résultat compréhensible comme par exemple, 2007/11/01 02:06:55. Je vais regarder si je trouve des infos à ce sujet.

    Merci Dijb
    .Olivier

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    sinon pour gerer les secondes et dates, j'ai fais quelques bouts de scripts dans la FAQ (section astuces et divers)

  5. #5
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Bien donc j'ai réalisé ceci (le code est incomplet):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #!/usr/bin/perl -w
     
    use POSIX qw(strftime);
     
    $file = '/home/olivier/test.cgi';
    @lastmodified = stat($file); 
    $lastmodified[9]=strftime"%Y/%m/%d %H:%M:%S",localtime;
     
    print $cgi->pre('$Id: error.cgi,v 1.1 '.$lastmodified[9].' Olivier Exp $');
    La date s'affiche sous la forme de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Id: test.cgi,v 1.1 2007/11/08 13:40:23 Olivier Exp $
    Mais lorsque je refraichis la page les secondes défilent

    Qui peut m'expliquer mon erreur s'il vous plaît ?

    Merci
    .Olivier

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    bon en faite, que souhaites tu faire?

  7. #7
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Je souhaite afficher la date de modification et pas l'heure actuelle
    .Olivier

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    en reprenant l'exemple de la faq
    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
    $file = '/home/olivier/test.cgi';
    @lastmodified = stat($file); 
    my $date_modif = date($lastmodified[9]);
    print $cgi->pre('$Id: error.cgi,v 1.1 '.$date_modif.' Olivier Exp $');
     
     
    sub date {
        my $time = shift || time;           #$time par defaut vaut le time actuel
        my @tab_date =localtime($time); 
        #le mois renvoyé est compris entre 0 et 11 d'où la modification
        $tab_date[4] = $tab_date[4] + 1;    
        #L'annee renvoie est celle à partir de 1900 d'ou la modification
    	  $tab_date[5] = $tab_date[5] + 1900; 
     
        # On rajoute 0 si le chiffre est compris entre 1 et 9
        foreach  (@tab_date) {
          s/^(\d)$/0$1/;
        }
     
        my ($seconde, $minute, $heure,
            $jour   , $mois  , $annee,
            $jour_semaine   ,  $jour_annee , $heure_hiver_ou_ete
            ) = @tab_date;
     
        return "$jour/$mois/$annee";
    }
    j'ai juste modifié le return et tu peux l'adapter à tes souhaits
    courage

  9. #9
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Le code est bien trop long

    J'ai trouvé cette solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #!/usr/bin/perl -w
     
    use POSIX 'strftime';
     
    # Variables
    $file='/home/olivier/www/cgi-bin/test.cgi';
    @lastmodified=stat($file);
    $date=strftime("%Y/%m/%d %H:%M:%S",localtime($lastmodified[9]));
     
    print $cgi->pre('$Id: test.cgi,v 1.1 '.$date.' Olivier Exp $');
    Qu'en penses-tu ? Cela fonctionne
    .Olivier

  10. #10
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Ecoute, c'est parfait alors.
    En perl tout chemin mène à rome, chacun fait son choix .
    Maintenant, question longueur code, on peut toujours faire plus court

    Pour continuer ta formation tu peu lire les cours et tutoriels pour apprendre Perl ici : http://perl.developpez.com/cours/

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

Discussions similaires

  1. pb date de dernière modification d'un fichier
    Par papat2006 dans le forum C#
    Réponses: 1
    Dernier message: 28/02/2009, 17h05
  2. [E-07] date de dernière modification d'un fichier
    Par Library dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/11/2008, 09h51
  3. Date de dernière modification d'un fichier
    Par Olivier Regnier dans le forum Web
    Réponses: 1
    Dernier message: 25/09/2008, 00h14
  4. [PB 9 -> PB 11] Date de dernière modification d'un fichier
    Par hicks51100 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 27/06/2008, 15h26
  5. Date de dernière modification d'un fichier
    Par defacta dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2007, 13h10

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