OVH Cloud OVH Cloud

traitement chrono des fichiers

3 réponses
Avatar
Olivier Masson
Bonjour,

je dois traiter le contenu d'un répertoire de manière chronologique.

La doc de la commande readdir indique que 'Les noms sont retournés dans
l'ordre qu'ils sont enregistrés dans le système de fichiers.'

Or, en traitant le contenu d'un rép ainsi :

$dir = opendir("/rep");
while ($name = readdir($dir)) {}

les fichiers sont traités alphabétiquement.

Est-ce que je peux faire confiance à ça ou dois-je préalablement faire
un asort() du contenu de $dir ?

Merci.

3 réponses

Avatar
Cedric Olmanst
les fichiers sont traités alphabétiquement.
Est-ce que je peux faire confiance à ça ou dois-je préalablement faire
un asort() du contenu de $dir ?


A priori non. Dans les commentaires de readdir() dans la doc de php.net,
il y a des fonctions assez pratiques qui peuvent t'intéresser.

Avatar
Olivier Miakinen

je dois traiter le contenu d'un répertoire de manière chronologique.

La doc de la commande readdir indique que 'Les noms sont retournés dans
l'ordre qu'ils sont enregistrés dans le système de fichiers.'

Or, en traitant le contenu d'un rép ainsi :

$dir = opendir("/rep");
while ($name = readdir($dir)) {}

les fichiers sont traités alphabétiquement.

Est-ce que je peux faire confiance à ça ou dois-je préalablement faire
un asort() du contenu de $dir ?


J'ai eu le même besoin il y a quelques années, et en relisant mon code
je vois qu'effectivement je lis toutes les entrées du répertoire et je
les trie ensuite. Je crois me souvenir, mais sans en être absolument
sûr, que c'est parce que les entrées ne sont pas triées quand le site
est sur un Windows alors qu'elles le sont sur un FreeBSD.

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Olivier Masson

J'ai eu le même besoin il y a quelques années, et en relisant mon code
je vois qu'effectivement je lis toutes les entrées du répertoire et je
les trie ensuite. Je crois me souvenir, mais sans en être absolument
sûr, que c'est parce que les entrées ne sont pas triées quand le site
est sur un Windows alors qu'elles le sont sur un FreeBSD.



J'ai essayé sur Windows et c'est trié.
Mais bon, je vais tout de même les trier.
Merci.