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

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

DDD
DDDOriginal
2024-11-05 16:39:02481Durchsuche

How to Count Files in a Directory Using PHP?

Dateien in einem Verzeichnis mit PHP zählen

In Ihrem Projekt möchten Sie die Anzahl der Dateien in einem bestimmten Verzeichnis ermitteln. Sehen wir uns an, wie man dies mit PHP erreicht.

Der Code, den Sie ursprünglich bereitgestellt haben, durchläuft ein Verzeichnis mithilfe der Funktion readdir(). Versteckte Dateien oder Unterverzeichnisse werden jedoch nicht berücksichtigt. Um dieses Problem zu beheben, können Sie den folgenden verfeinerten Ansatz verwenden:

<code class="php">$dir = opendir('uploads/'); # Directory to count files from
$i = 0; # Initialize counter
$excludedFiles = ['.', '..']; # Ignore these files

# Iterate through the directory
while (false !== ($file = readdir($dir))) {
    if (!in_array($file, $excludedFiles) && !is_dir($file)) {
        $i++;
    }
}

closedir($dir);
echo "There were $i files"; # Output the count</code>

Durch den Ausschluss versteckter Dateien (beginnend mit „.“) und Unterverzeichnissen (bestimmt durch is_dir()) zählt dieser überarbeitete Code genau nur reguläre Dateien innerhalb des angegebenen Verzeichnisses.

Alternativ können Sie einen prägnanteren Ansatz basierend auf FilesystemIterator verwenden:

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

Hier überspringt die FilesystemIterator-Klasse versteckte Dateien (.) und übergeordnete Verzeichnisse (.. ), was es zu einer unkomplizierten Lösung zum Zählen von Dateien macht. Beide Methoden ermöglichen je nach Wunsch eine genaue und effiziente Zählung der Dateien in einem Verzeichnis.

Das obige ist der detaillierte Inhalt vonWie zähle ich Dateien in einem Verzeichnis mit 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