anzahl der datein einer verzeichnissen

paini2008

Gesperrt
hallo und zwar wollte ich fragen,
ob es php script gibt der alle dateien eines verzeichnisses zählt und dann beispielsweiße ausgibt:
Es sind 321 Dateien vorhanden.

Vielen dank schonmal in vorraus.
 
Hallo,
ich denke die Forumsuche und Google hätten dir genug ergebnise geliefert.

PHP:
<?php
 $verzeichnis="bilder"; //verzeichnis
 $dateien = array();
 $verz = opendir($verzeichnis);
 $anzahl = 0;
 while( $datei=readdir($verz) )
 {
   if(filetype("$verzeichnis/$datei")=="file")
   {
 //wenn du datein mit prefixen willst muss du dieses if ändern
     if(count(explode(".",$datei))==1)
     {
       array_push($dateien,$datei);
       $anzahl++;
     }
   }
 }
 $verz->close();
 echo "Es sind ".$anzahl." Dateien vorhanden.";
?>

Jetzt hast du in $anzahl die Anzahl der Dateien und in $datei eine Array der Dateien.
 
Hier eine Funktion aus den php.net Kommentaren zu readdir().

PHP:
  /**
   * Return the number of files that resides under a directory.
   *
   * @return integer
   * @param    string (required)   The directory you want to start in
   * @param    boolean (optional)  Recursive counting. Default to FALSE.
   * @param    integer (optional)  Initial value of file count
   */ 

  function num_files($dir, $recursive=false, $counter=0) {
    static $counter;
    if(is_dir($dir)) {
      if($dh = opendir($dir)) {
        while(($file = readdir($dh)) !== false) {
          if($file != "." && $file != "..") {
              $counter = (is_dir($dir."/".$file)) ? num_files($dir."/".$file, $recursive, $counter) : $counter+1;
          }
        }
        closedir($dh);
      }
    }
    return $counter;
  }

  // Usage:
  $nfiles = num_files("/home/kchr", true); // count all files that resides under /home/kchr, including subdirs
  $nfiles = num_files("/tmp"); // count the files directly under /tmp
 
Zurück