je me suis fais prendre la vedette![]()
![]()
...
c'était mon idée les fopen ...........................
bref si ca marche c'est bien![]()
je me suis fais prendre la vedette![]()
![]()
...
c'était mon idée les fopen ...........................
bref si ca marche c'est bien![]()
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![]()
Non, non, je te remercie également de ton aide...Envoyé par hunter
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...![]()
![]()
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
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 ...![]()
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
S'ils ont pas été modifiés filemtime est-il correct ??? (je suppute car j'arrive à mes limites là)
il sont vieux
sinon t'es sûr qu'ils ont une date de modif ??
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
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
Ouais ben c'est pas le moment!![]()
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
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> </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; }
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
Essaye ceci
EDIT: rajout de clearstatcahce
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)); } ...![]()
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...
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
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 ?
Ben perso, c'est pas un ls mais un dir et il me donne les bonnes dates...
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
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 :
Tu as juste à faire un sort sur tes noms de fichier et ils sont triés par ordre chrono
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2YYYYMMDDhhmmss_id_mesure 20051114153632_1234_9000
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![]()
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![]()
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
Personne n'a d'idées?
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
On cherche on cherche
A quelle fréquence sont créé tes fichiers ? à quelle fréquence est appellée ton script php ?
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.
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
Ben alors je pense que le touch serait approprié non ?
Partager