Sortieren von Dateien nach Datum und Uhrzeit der letzten Änderung mit der Funktion glob()
Die Funktion glob() ist eine leistungsstarke PHP-Funktion zum Abgleichen von Dateien mit einem gegebenes Muster. In Kombination mit der Sortierung bietet es eine effiziente Möglichkeit, Dateien nach bestimmten Kriterien zu organisieren.
Problem
Wenn Sie eine Reihe von Dateien anzeigen müssen, sortiert nach ihrem letzten Bei einem geänderten Datum/Uhrzeit-Stempel besteht ein gängiger Ansatz darin, das Array zu durchlaufen und es manuell in ein neues Array zu sortieren. Diese Methode kann jedoch zeitaufwändig und ineffizient sein.
Lösung
PHP bietet eine effizientere Lösung mit der Funktion usort(). Diese Funktion benötigt zwei Argumente: ein zu sortierendes Array und eine Vergleichsfunktion, die die Reihenfolge der Elemente bestimmt.
Der folgende Code zeigt, wie man usort() in Kombination mit glob() verwendet, um ein Array von Dateien zu sortieren nach Datum und Uhrzeit der letzten Änderung:
<?php $myarray = glob("*.*"); usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);')); ?>
Erklärung
Die Funktion glob() gibt ein Array von Dateien zurück passend zum Muster „.“. Die Funktion usort() wird dann auf das Array angewendet.
Die für usort() bereitgestellte Vergleichsfunktion verwendet die Funktion filemtime(), um die Änderungszeitstempel jeder Datei zu extrahieren und sie zu subtrahieren, um die Reihenfolge zu bestimmen. Das Ergebnis dieser Berechnung wird verwendet, um das Array in aufsteigender oder absteigender Reihenfolge basierend auf dem Datum/Uhrzeit-Stempel der letzten Änderung zu sortieren.
Hinweis
Die verwendete Hilfsfunktion create_function() im bereitgestellten Code ist in PHP 7.2.0 veraltet. Alternative Methoden zum Definieren anonymer Funktionen in PHP umfassen Lambda-Funktionen oder die Schließungssyntax. Zum Beispiel:
usort($myarray, function ($a, $b) { return filemtime($a) - filemtime($b); });
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien in PHP mithilfe von glob() effizient nach Datum der letzten Änderung sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!