Home

Anzahl der Dateien in einem Ordner ermitteln

Sonntag, 22. April 2007 | Autor: Pr0g

Diese Funktion ermittelt die Anzahl der Dateien in einem angegebenen Ordner. Optional kann die Zählung auf eine oder mehrere (durch Komma getrennte) Dateiendungen eingeschränkt werden.

Konnte der angegebenen Ordner nicht geöffnet werden, wird der Wert false zurückgegeben welcher zur Fehlerbehandlung genutzt werden kann. Eine typensichere Abfrage per === muss gemacht werden, damit die mögliche Anzahl von 0 Dateien nicht als Wert false erkannt wird.

 <?php

//
// Anzahl der Dateien in einem Ordner ermitteln
//
function CountFilesInDir($dir ''$ext '') {

  
// Wurde kein Slash angegeben, dann nachtragen
  
if (empty($dir)) {
    
$dir .= './';
  } elseif (
$dir[strlen($dir) - 1] != '/') {
    
$dir .= '/';
  }

  
// Dateierweiterungen in ein Array packen
  
$ext explode(','$ext);

  
// Ordner öffnen
  
if ($dh opendir($dir)) {

    
// Alle Dateien durchlaufen
    
$count 0;
    while ((
$file readdir($dh)) !== false) {

      
// Prüfen ob es sich um eine Datei handelt und die Endung passt
      
if (is_file($dir $file) && (in_array(substr(strrchr($file'.'), 1), $ext) || empty($ext[0]))) {
        
$count++;
      }
    }

    
// Ordner schließen
    
closedir($dh);

    
// Dateianzahl zurückgeben
    
return $count;
  } else {
    return 
false;
  }
}

//
// Beispielaufruf 1: Selber Ordner wie die PHP Datei, alle Dateiendungen
//
$file_count CountFilesInDir();
echo (
$file_count === false'Fehler beim Öffnen des Ordners!' 'Der Ordner enthält ' $file_count ' Datei' . ($file_count <> 'en' '') . '!');

//
// Beispielaufruf 2: Selber Ordner wie die PHP Datei, eine Endung erlauben
//
$file_count CountFilesInDir('''php');
echo (
$file_count === false'Fehler beim Öffnen des Ordners!' 'Der Ordner enthält ' $file_count ' Datei' . ($file_count <> 'en' '') . '!');

//
// Beispielaufruf 3: Anderer Ordner wie die PHP Datei, mehrere Endungen erlauben
//
$file_count CountFilesInDir('test/unterordner''php,css,txt');
echo (
$file_count === false'Fehler beim Öffnen des Ordners!' 'Der Ordner enthält ' $file_count ' Datei' . ($file_count <> 'en' '') . '!');

?>
Tags » , , , «

Trackback: Trackback-URL | Feed zum Beitrag: RSS 2.0
Thema: Codes

Diesen Beitrag kommentieren.

Kommentar abgeben


Warning: stristr() [function.stristr]: Empty delimiter in /is/htdocs/wp1017081_BHJX0SUJYV/pr0g_blog/wp-content/plugins/wassup/wassup.php on line 2093