Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit der glob()-Funktion von PHP abgerufene Dateien nach ihrem letzten Änderungsdatum sortieren?
Sortieren von Dateien nach Datum der letzten Änderung mit glob()
Bei der Arbeit mit Dateisystemen ist es oft wünschenswert, Dateien basierend auf ihren Attributen zu organisieren , wie zum Beispiel ihre Änderungszeit. In PHP kann die Funktion glob() verwendet werden, um ein Array von Dateien abzurufen, aber standardmäßig behält sie nicht die Reihenfolge der Dateien bei.
Herausforderung: Sortieren nach Änderungsdatum
Angenommen, Sie haben ein Array von Dateien, die Sie mit glob() erhalten haben, und Sie möchten dieses Array basierend auf dem Datum/Uhrzeit-Stempel der letzten Änderung jeder Datei sortieren. Das Durchlaufen des Arrays und das manuelle Sortieren in ein separates Array ist eine praktikable Option, aber nicht der effizienteste oder bequemste Ansatz.
Lösung: Verwenden von create_function()
Vor PHP 7.2 bot die Funktion create_function() eine Möglichkeit, anonyme Funktionen zu definieren. Es könnte in Verbindung mit usort() verwendet werden, um die Änderungszeit von Dateien zu vergleichen und das Array entsprechend zu sortieren:
usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
In diesem Code definiert create_function() eine anonyme Funktion, die die Änderungszeit der Dateien subtrahiert der ersten Datei ($a) von der der zweiten Datei ($b). Das Ergebnis dieser Subtraktion gibt ihre chronologische Reihenfolge an. usort() verwendet dann diese Funktion, um das $myarray basierend auf der Änderungszeit in aufsteigender Reihenfolge zu sortieren.
create_function() wird nicht mehr unterstützt
create_function() wurde leider nicht mehr verwendet in PHP 7.2 veraltet und in PHP 8.0 entfernt. Dies bedeutet, dass der obige Code in modernen PHP-Versionen nicht mehr funktioniert.
Alternative Lösungen
Alternative Lösungen zum Sortieren von Dateien nach dem letzten Änderungsdatum mithilfe von glob() include :
Das obige ist der detaillierte Inhalt vonWie kann ich mit der glob()-Funktion von PHP abgerufene Dateien nach ihrem letzten Änderungsdatum sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!