Dateien in einem PHP-Verzeichnis zählen
In einem kürzlich durchgeführten Projekt mussten Sie die Anzahl der Dateien in einem bestimmten Verzeichnis ermitteln. Sie haben mit dem folgenden Code experimentiert:
<code class="php">$dir = opendir('uploads/'); $i = 0; while (false !== ($file = readdir($dir))) { if (!in_array($file, array('.', '..') and !is_dir($file)) $i++; } echo "There were $i files";</code>
Sie sind jedoch auf Schwierigkeiten bei der korrekten Anzeige der Ergebnisse gestoßen. Ein effizienterer Ansatz mit der FilesystemIterator-Klasse wird empfohlen:
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Dieser Code nutzt die FilesystemIterator-Klasse, die einen Iterator zum Durchlaufen von Dateien und Verzeichnissen innerhalb eines Dateisystems bereitstellt. Durch Angabe des SKIP_DOTS-Flags werden die speziellen Verzeichnisse „.“ übersprungen. und „..“ in der Zählung. Die Funktion iterator_count() zählt die Anzahl der Elemente im Iterator und liefert Ihnen die Gesamtzahl der Dateien im angegebenen Verzeichnis.
Das obige ist der detaillierte Inhalt vonWie kann man Dateien in einem PHP-Verzeichnis effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!