Maison > développement back-end > tutoriel php > Comment puis-je trier les fichiers récupérés avec la fonction glob() de PHP par date de dernière modification ?

Comment puis-je trier les fichiers récupérés avec la fonction glob() de PHP par date de dernière modification ?

DDD
Libérer: 2024-11-28 15:12:14
original
717 Les gens l'ont consulté

How Can I Sort Files Retrieved with PHP's glob() Function by Their Last Modified Date?

Tri des fichiers par date de dernière modification à l'aide de glob()

Lorsque vous travaillez avec des systèmes de fichiers, il est souvent souhaitable d'organiser les fichiers en fonction de leurs attributs , comme leur heure de modification. En PHP, la fonction glob() peut être utilisée pour récupérer un tableau de fichiers, mais par défaut, elle ne conserve pas l'ordre des fichiers.

Défi : Tri par date de modification

Supposons que vous disposiez d'un tableau de fichiers obtenu à l'aide de glob() et que vous souhaitiez trier ce tableau en fonction du dernier horodatage modifié de chaque fichier. Faire une boucle dans le tableau et le trier manuellement dans un tableau séparé est une option viable, mais ce n'est pas l'approche la plus efficace ou la plus pratique.

Solution : Utiliser create_function()

Avant PHP 7.2, la fonction create_function() fournissait un moyen de définir des fonctions anonymes. Il pourrait être utilisé conjointement avec usort() pour comparer l'heure de modification des fichiers et trier le tableau en conséquence :

usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
Copier après la connexion

Dans ce code, create_function() définit une fonction anonyme qui soustrait l'heure de modification du premier fichier ($a) de celui du deuxième fichier ($b). Le résultat de cette soustraction indique leur ordre chronologique. usort() utilise ensuite cette fonction pour trier $myarray par ordre croissant en fonction de l'heure de modification.

Dépréciation de create_function()

Malheureusement, create_function() a été obsolète dans PHP 7.2 et supprimé dans PHP 8.0. Cela signifie que le code ci-dessus ne fonctionnera plus dans les versions modernes de PHP.

Solutions alternatives

Les solutions alternatives pour trier les fichiers par date de dernière modification à l'aide de glob() incluent :

  • Utilisation d'une fonction de comparaison avec usort() : définissez une fonction de comparaison personnalisée qui exploite la fonction filemtime() et la transmet à usort().
  • Utilisation de la fonction sort() avec l'indicateur SORT_NATURAL : Si vos noms de fichiers sont structurés de manière à permettre un tri naturel, vous pouvez utiliser la fonction sort() avec l'indicateur SORT_NATURAL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal