Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Dateien in PHP mithilfe von glob() effizient nach Datum der letzten Änderung sortieren?

Wie kann ich Dateien in PHP mithilfe von glob() effizient nach Datum der letzten Änderung sortieren?

Barbara Streisand
Freigeben: 2024-12-04 21:35:19
Original
651 Leute haben es durchsucht

How Can I Efficiently Sort Files by Last Modified Date in PHP Using glob()?

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

?>
Nach dem Login kopieren

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);
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage