Page 1 sur 1

Sécurisé une liste de fichiers triée par date en cas de date identique

Posté : 10 juin 2015, 22:47
par westernz
Bonjour,

J'ai le code ci-dessous.
Je dois impérativement le sécuriser. Si deux fichiers ont la même date ...
Malheureusement les tableaux c'est pas mon truc.
Je vais de ce pas encore une fois chercher sur internet pour tenter d'avoir un visuel mental de ce qui se passe quand on joue avec la création d'un array. En attendant toute aide est le bienvenue.

Code : Tout sélectionner

$tab=array(); $i=0; while ($file = readdir($dir)) { if($file != '..' && $file !='.' && $file !='') { $nom[]=$file; $now = date("Y/m/d - h:i:s",filemtime($mapage.$file)); $date[]=$now; $tab[$date[$i]]=$nom[$i]; $i++; } } ksort($tab); closedir($dir);
Bonne journée

Re: Sécurisé une liste de fichiers triée par date en cas de date identique

Posté : 10 juin 2015, 23:03
par tof73
quel est le but ?
ce qui est unique, c'est le nom de fichier. pour chaque élément du répertoire, si tu ajoutes une entrée à ton tableau avec le nom et la date, tu ne peux pas avoir de doublon, et tu peux trier par nom ou date ton tableau.

Re: Sécurisé une liste de fichiers triée par date en cas de date identique

Posté : 11 juin 2015, 12:24
par westernz
oui, c'est ce que je viens de comprendre. Je dois inverser key et value et passer par un asort().
Enfin... je suppose, je vais essayer.
Merci

Re: Sécurisé une liste de fichiers triée par date en cas de date identique

Posté : 12 juin 2015, 11:35
par westernz
En fait j'ai pas réussit.
J'ai fait ça à la place.
Ca semble fonctionner.
C'est utile pour les photographes par exemple.

Code : Tout sélectionner

$i=0; $tab=array(); while ($file = readdir($dir)) { if($file != '..' && $file !='.' && $file !='') { $nom[]=$file; // On prend la date pour en faire le N° du fichier // $now = date("Y/m/d - h:i:s",filemtime($mapage.$file)); // Prévision jusqu' 100 fichiers ayant la même date à la seconde près // $now .= '00'; // Si un fichier avec la même date (le même n°) existe déjà -> numéro +1 // if (!empty($tab)) { foreach($tab as $key => $file) { if ($key == $now) { $now++; } } } $date[]=$now; $tab[$date[$i]]=$nom[$i]; $i++; } } krsort($tab);