Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1717 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  liste de fichiers dans un array trié par date : 3eme fichier non listé

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

liste de fichiers dans un array trié par date : 3eme fichier non listé

n°2259821
westernz
Posté le 06-06-2015 à 23:04:09  profilanswer
 

Bonjour,
 
J'ai un souci avec un code.
J'ai 6 fichiers dans un dossier.
Il ne m'en liste que 5...
 
Ce sont des photos en jpg.
_DSC9665 _DSC9693 etc.. il ne liste pas le 3eme _DSC9854...
 
Qu'ais-je fais de mal ?
 
Bonne journée  
 
=====================
 
$dirname = 'mjc/jazz/';
$dir = opendir($dirname);
 
while ($file = readdir($dir))
{
 if($file != '..' && $file !='.' && $file !='')
    {
   $nom[]=$file;
  $date[]=date("Y/m/d - h:i:s",filemtime($dirname.$file));
  $tab[$date[$i]]=$nom[$i];
  $i++;
 }
}
 
ksort($tab);
 
foreach ($tab as $key => $val)
    {
    print $val."-".$key."<br>";
    }
 
closedir($dir);

mood
Publicité
Posté le 06-06-2015 à 23:04:09  profilanswer
 

n°2259822
westernz
Posté le 06-06-2015 à 23:10:04  profilanswer
 

Je viens de réup le fichier qui pourtant était parfaitement lisible.
Je sent que ca va être ingérable si ce code est susceptible à ce point.
 
Avez-vous une astuce pour s'assurer que tous les fichiers soient bien dispo et pour savoir lesquels je dois réup ?  
 
A cet instant je pense à comparer les fichier présent (le while les nomment tous) au fichier listés dans l'array.
 
Car c'est quand le code tente de le mettre dans l'array que le fichier n'est pas passé. Si je met un echo juste avant $nom[] ca me liste 6 fichiers. Si je fait un vardump avant le ksort, ca ne me mettait que 5 fichiers.

n°2259840
czh
Posté le 07-06-2015 à 16:16:25  profilanswer
 

Code :
  1. $date[]=date("Y/m/d - h:i:s",filemtime($dirname.$file)); 
  2.         if (isset($tab[$date[$i]])) {
  3.               echo "il y a déjà un fichier dans cette case du tableau, TODO: trouver une autre solution !";
  4.         }
  5.  $tab[$date[$i]]=$nom[$i];


 
La date est utilisé comme clef pour l'array tab, si plusieurs fichiers ont la même date à la seconde près, ils ne seront compté qu'une seule fois. Solution : ne pas utiliser de date comme clef.

n°2259860
rufo
Pas me confondre avec Lycos!
Posté le 08-06-2015 à 10:36:40  profilanswer
 

Ou mettre un tableau sur la clé date, comme ça, tu peux avoir plusieurs fichiers ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2259884
westernz
Posté le 08-06-2015 à 14:49:07  profilanswer
 

Je croyais que c'était en micro secondes :(
Merci.
Je suis pas doué avec les tableaux, je n'arrive pas à comprendre comment il se forment (j'ai pas d'image mentale). Vous auriez un lien qui puisse m'aider ?
 
Pour le moment j'ai donc pris la solution de ralentir le chargement des fichiers (... cache misère de minable lol


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  liste de fichiers dans un array trié par date : 3eme fichier non listé

 

Sujets relatifs
ecrire la date et l'heure sur un fichier de sortieVBS copie de fichiers avec recherche de nom
Condition temporelle : comparaition de date + ou - delais.[BATCH] Pb numérotation de fichiers
Convertir un fichier Swf en fichier pour "écran de veille sous WindowsConvertir un fichier Swf en fichier pour "écran de veille sous Windows
Exception de sécurité tout en accédant à des données de fichiers XML (Problème fichier LUA
Plus de sujets relatifs à : liste de fichiers dans un array trié par date : 3eme fichier non listé


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR