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 :

[Dates] pb avec fonction filemtime


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de hunter
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 208
    Par défaut
    je me suis fais prendre la vedette ...
    c'était mon idée les fopen ...........................

    bref si ca marche c'est bien

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Ton chapeau pointu est peut-etre de travers.

    C'est vrai que c'est rageant les bugs qui s'amusent à se cacher, à apparaitre à leur bon gré. Comme si nous, développeurs, n'avons que ça à faire de les chasser

  3. #3
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Citation Envoyé par hunter
    je me suis fais prendre la vedette ...
    c'était mon idée les fopen ...........................

    bref si ca marche c'est bien
    Non, non, je te remercie également de ton aide...

    Quand à mon chapeau pointu il est tout neuf, peut être qu'il a besoin d'être rodé...

    Bon, on verra si ça reparait, je vous ferai signe...

  4. #4
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Argh.... Le revoilà!!!!

    Bon, je m'explique, j'ai une variable $rep qui contient le nom du répertoire à scanner, à chaque fois, la racine est la même et seul le nom du répertoire change.

    J'ai au total 3 répertoires à scanner, je vérifie à chaque fois ma variable $rep, elle est bien affectée avec la bonne valeur, pour les 2 premiers répertoires, ça fonctionne et je récupère les noms de fichier avec les dates de dernière modif par contre pour le dernier, je récupère les noms de fichier mais avec cette date là: 01-01-1970 01:00:00 ...

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    S'ils ont pas été modifiés filemtime est-il correct ??? (je suppute car j'arrive à mes limites là)

  6. #6
    Membre expérimenté Avatar de hunter
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 208
    Par défaut
    il sont vieux

    sinon t'es sûr qu'ils ont une date de modif ??

  7. #7
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    C'est à s'en arracher les cheveux!

    Pour certains fichiers du répertoire, il me donne les bonnes date et pour d'autre non...
    Et systématiquement, pour ceux créés aujourd'hui, il me donne le 01/01/1970...


    Exemple:

    0549384787839_9223 01-01-1970 01:00:00

    4567890123456_2097 01-01-1970 01:00:00

    0523440110014_9030 01-01-1970 01:00:00

    0523440110013_1577 01-01-1970 01:00:00

    0523440110002_9050 01-01-1970 01:00:00

    0523440110004_9000 28-10-2005 15:19:26

    0523440110008_9000 28-10-2005 15:19:26

    0567320030002_5600 28-10-2005 15:19:26

  8. #8
    Membre expérimenté Avatar de hunter
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 208
    Par défaut
    t'as fonction fais greve ...

  9. #9
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Ouais ben c'est pas le moment!

  10. #10
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    En résumé, j'arrive à créer et modifier un fichier dans mes 3 répertoires et à récupérer la date de dernière modif sans problème.

    Dans ces mêmes répertoires, il me récupère tous les noms de fichier et me retourne parfois la bonne date de modification, parfois non.

    Il ne me retourne pas la bonne date notamment pour les fichiers créés aujourd'hui...

    Ce qui est hallucinant, il me retourne la bonne date pour le fichier que je créé et modifie par le script par contre après, quand ce fichier est scanné dans ma boucle, la date est le 01/01/1970...

    Si je fais des modifs sur le fichier créé, pareil, j'ai la bonne date sauf dans la boucle...

    Donc, y aurait-il une erreur dans ma boucle???

    Jene vois pas quoi, d'autant plus que parfois, il m'affiche quand même la bonne date...

    Enfin, je vous mets mon code en dessous, peut être que quelque chose m'échappe (euh... certainement en fait!)

    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
    //Création du tableau qui va contenir les noms de fichier
    	$files=array();
     
    	// Parcours des fichiers et dossiers du répertoire courant	
    	while($file = readdir($handle)) 
    	{
    		if($file != "." && $file != "..") 
    			{
    				//Test pour ne pas prendre en compte les fichiers type .php
    				if(!ereg(".php",$file))
    				{
    					$files[] = array($file, filemtime($file));  
     
    				}	
    			}
    	}
     
    	//Tri du tableau sur les dates
    	usort($files, "cmp");
     
    	//Affichage du tableau de fichier trié par date
    	echo "<table border='1'>";
    	foreach($files as $elem) {
    		//formatage de la date avec mktime() selon le format retourné par filemtime()
    		echo "<tr><td>".$elem[0]."</td><td>".date("d-m-Y H:i:s",$elem[1])."</td></tr><tr><td>&nbsp;</td></tr>"; 
    	}
    	echo "</table>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //Fonction de tri du tableau sur les dates
    function cmp($a,$b) {
    	if ($a[1] == $b[1])
    		return 0;
    	return ($a[1] < $b[1]) ? -1 : 1;
    }

  11. #11
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...
    if(!ereg(".php",$file))
    {
       if (!filemtime($file)) {
          touch($file);
          clearstatcache();
       }
       $files[] = array($file, filemtime($file));            
    }
    ...
    EDIT: rajout de clearstatcahce

  12. #12
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Oui, ben pour ceux qui étaient au 01/01/1970, ils ont maintenant la date et l'heure du moment d'éxecution du script, c'est mieux mais ça ne résoud pas mon problème...

  13. #13
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Ben peut-etre que si ?!
    Si un fichier est créé, mais jamais ni accédé, ni modifié, ses stats ne sont peut-être pas mises à jour, d'où Unix Epoch (1970)
    Que te dis la commande ls -l sur les fichiers dont php te donne la date Unix Epoch ?

  14. #14
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Ben perso, c'est pas un ls mais un dir et il me donne les bonnes dates...

  15. #15
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    La solution la plus simple à priori que je vois c'est d'inclure la date dans tes noms de fichiers, en plus de cette manière le tri se fais trop facilement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    YYYYMMDDhhmmss_id_mesure
    20051114153632_1234_9000
    Tu as juste à faire un sort sur tes noms de fichier et ils sont triés par ordre chrono
    Si tu veux trier par id puis date, tu fais juste id_date_mesure

    Il te reste juste à modifier le prog qui crée tes fichiers

  16. #16
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Oui mais malheureusement, ça je ne peux pas le faire...

    Donc je suis obligée de me débrouiller avec ce que j'ai là...

    Sinon effectivement, ça aurait été trop facile

  17. #17
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Personne n'a d'idées?

  18. #18
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    On cherche on cherche

    A quelle fréquence sont créé tes fichiers ? à quelle fréquence est appellée ton script php ?

  19. #19
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Mes fichiers sont créés par 3 machines différentes au rythme d'environ un par minute et par machine.
    Mon script tourne en boucle avec un script d'affichage, il est appelé toutes les 5 secondes environ.

  20. #20
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Ben alors je pense que le touch serait approprié non ?

Discussions similaires

  1. Réponses: 33
    Dernier message: 01/04/2009, 11h16
  2. aide avec fonction date
    Par l_artiste dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/10/2008, 15h58
  3. [Dates] Bug avec ma fonction formatage de date
    Par groland dans le forum Langage
    Réponses: 6
    Dernier message: 14/03/2007, 15h24
  4. [Dates] Problème avec la fonction date()
    Par Kernald dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2007, 11h50
  5. [Dates] Problème avec la fonction header
    Par d.w.d dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2005, 16h33

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