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);'));
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 :
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!