Dateien in einem Verzeichnis in PHP zählen

Subodh Poudel 20 Juni 2023
  1. Verwenden Sie die Klasse FilesystemIterator, um die Dateien in einem Verzeichnis in PHP zu zählen
  2. Verwenden Sie die Funktionen glob() und count(), um die Dateien in einem Verzeichnis in PHP zu zählen
  3. Verwenden Sie die Funktionen scandir() und count(), um die Dateien in einem Verzeichnis in PHP zu zählen
Dateien in einem Verzeichnis in PHP zählen

In diesem Artikel werden einige Methoden zum Zählen der Dateien in einem Verzeichnis in PHP vorgestellt und demonstriert.

Verwenden Sie die Klasse FilesystemIterator, um die Dateien in einem Verzeichnis in PHP zu zählen

PHP bietet mit der Klasse FilesystemIterator eine elegante Möglichkeit, die Dateien in einem Verzeichnis zu zählen. Die Klasse enthält viele Funktionen und Konstanten, die verschiedene Operationen zum Iterieren eines Dateisystems ausführen.

Die Verwendung der Funktion iterator_count() zählt die Anzahl der Elemente im Iterator.

Betrachten wir die folgende Verzeichnisstruktur.

myDir
├── abc.html
├── abc.jpeg
├── abc.php
└── abc.png

Erstellen Sie zuerst eine Variable $iterator und speichern Sie eine Instanz des FilesystemIterator(). Setzen Sie den ersten Parameter als __DIR__ und verwenden Sie FilesystemIterator::SKIP_DOTS als zweiten Parameter im Konstruktor.

Das __DIR__ stellt das aktuelle Verzeichnis dar, in dem sich das Skript befindet, und der zweite Parameter ist ein Flag, das . überspringt. und .., die in einem Verzeichnis existieren. Die Variable $iterator enthält den Iterator filesystem für das aktuelle Verzeichnis.

Es kann iteriert werden, um Informationen wie Dateinamen, Anzahl der Dateien usw. zu erhalten.

Verwenden Sie als Nächstes die Funktion iterator_count(), um die Anzahl der $iterator im Verzeichnis auszugeben.

Beispielcode:

$iterator = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS);
echo "There are ". iterator_count($iterator). " files in the directory";

Ausgang:

There are 4 files in the directory

Daher können wir die Klasse FilesystemIterator() verwenden, um die Dateien in einem Verzeichnis zu zählen.

Verwenden Sie die Funktionen glob() und count(), um die Dateien in einem Verzeichnis in PHP zu zählen

Wir können die Funktionen glob() und count() verwenden, um die Anzahl der Dateien in einem Verzeichnis zu erhalten. Die Funktion glob() gibt ein Array der Dateien und Ordner aus, die dem angegebenen Muster entsprechen.

Wir können alle Dateien im Verzeichnis mit * abrufen. Als nächstes können wir die Funktion count() verwenden, um die Anzahl der Elemente in diesem Array zu erhalten.

Erstellen Sie beispielsweise eine Variable $path und hinterlegen Sie den genauen Pfad eines Verzeichnisses, dessen Dateien gezählt werden sollen. Verwenden Sie als Nächstes die Funktion glob() für die Variable $path und verketten Sie die Variable mit /*.

Als Ergebnis wird ein Array aller Dateien innerhalb von myDir erstellt. Verwenden Sie schließlich die Funktion count() auf das Ergebnis der Funktion glob().

So kann die Anzahl der Dateien im Verzeichnis myDir ermittelt werden. Das folgende Codebeispiel stellt die im ersten Beispiel verwendete Dateistruktur dar.

Beispielcode:

$path =$_SERVER['DOCUMENT_ROOT']."/myDir";
$num = count(glob($path . "/*"));
echo $num;

Ausgang:

4

Verwenden Sie die Funktionen scandir() und count(), um die Dateien in einem Verzeichnis in PHP zu zählen

Diese Methode ist ein ähnlicher Ansatz wie die zweite Methode. Der einzige Unterschied hier ist, dass wir die Funktion scandir() anstelle der Funktion glob() verwenden.

Wir können den Verzeichnispfad als Parameter an die Funktion scandir() übergeben. Die Funktion gibt ein Array mit allen Inhalten innerhalb des Verzeichnisses zurück, einschließlich der . Und ...

Als nächstes können wir die Funktion count() verwenden, um die Anzahl der Inhalte im Verzeichnis zu erhalten. Schließlich ist der wichtige Teil, 2 vom Ergebnis der count()-Funktion zu subtrahieren, um die Zählung von . zu entfernen. Und ...

So können wir die genaue Anzahl der Dateien in einem Verzeichnis erhalten.

Beispielcode:

$path =$_SERVER['DOCUMENT_ROOT']."/myDir";
$num = count(scandir($path))-2;
echo "there are $num files in the directory";

Ausgang:

there are 4 files in the directory
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - PHP Directory