Dateien in einem Verzeichnis in PHP zählen
-
Verwenden Sie die Klasse
FilesystemIterator
, um die Dateien in einem Verzeichnis in PHP zu zählen -
Verwenden Sie die Funktionen
glob()
undcount()
, um die Dateien in einem Verzeichnis in PHP zu zählen -
Verwenden Sie die Funktionen
scandir()
undcount()
, um die Dateien in einem Verzeichnis in PHP zu 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 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