Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zähle ich Dateien in einem Verzeichnis in PHP?

Wie zähle ich Dateien in einem Verzeichnis in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 13:37:36703Durchsuche

How to Count Files Within a Directory in PHP?

Dateien in einem Verzeichnis in PHP zählen

Eine häufige Aufgabe bei der Programmierung ist die Bestimmung der Anzahl der Dateien in einem bestimmten Verzeichnis. PHP bietet mehrere Methoden, um dies zu erreichen, und wir werden hier zwei Ansätze untersuchen.

Methode 1: Verwendung der Scandir-Funktion

Die Scandir-Funktion scannt den Inhalt eines Verzeichnisses und gibt ein Array von Datei- und Verzeichnisnamen zurück. Um nur Dateien zu zählen, können Sie die aktuellen und übergeordneten Verzeichniseinträge (. und ..) wie folgt herausfiltern:

<code class="php">$dir = "uploads/";
$files = array_filter(scandir($dir), function ($file) {
    return !in_array($file, ['.', '..']) && !is_dir($file);
});

echo "There were " . count($files) . " files";</code>

Methode 2: Verwenden der FilesystemIterator-Klasse

Die FilesystemIterator-Klasse bietet eine effizientere und objektorientiertere Möglichkeit, ein Verzeichnis zu durchlaufen. Indem Sie das aktuelle und das übergeordnete Verzeichnis überspringen, können Sie die Anzahl der Dateien direkt zählen:

<code class="php">$dir = __DIR__;
$fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS);
printf("There were %d Files", iterator_count($fi));</code>

Beide Methoden zählen effektiv die Anzahl der Dateien in einem Verzeichnis, wobei die Klasse FilesystemIterator etwas effizienter ist. Wählen Sie die geeignete Methode basierend auf Ihren Vorlieben und den Anforderungen Ihres Projekts.

Das obige ist der detaillierte Inhalt vonWie zähle ich Dateien in einem Verzeichnis in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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