Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Codeschnipsel » Alle Dateien und Ordner in einem Verzeichnissen zählen    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
Marlight
Mitglied
Guter User


Dabei seit: 19.09.2011
Herkunft: Deutschland, Bergkamen
Posts: 435
     Alle Dateien und Ordner in einem Verzeichnissen zählen Zitat | Bearbeiten

Mit dieser Funktion kannst du dir ganz einfach die Anzahl aller Dateien/Verzeichnisse eines Verzeichnisses inkl. aller Unterverzeichnisse ausgeben lassen.

Hier die Funktion:
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
<?php
/* Zählt alle Dateien incl. allen Dateien in Unterordnern 
 * 
 * $dir => Hier wird der Grundpfad angegeben
 *
 *********************************************************/
function filecounter($dir){
    
$dirs  0;    // Variable für die Verzeichnisse
    
$files 0// Variable für die Dateien
    
    
$path scandir($dir);    // Gibt den Inhalt des ganzen Verzeichnisses in einem Array wieder
    
    
foreach($path as $file){ // Wiederhole den Vorgang solange bis jedes Element des Arrays "$path" überprüft wurde
        
if($file != '.' && $file != '..'){ // Ignoriert die Elemente "." und ".."
            
if(is_dir($dir.'/'.$file)){    // Prüft ob es sich um ein Verzeichnis handelt
                
$dirs++; // Inkrementiert $dirs um 1
                
$back     filecounter($dir.'/'.$file); // Zählt alle Dateien und Verzeichnisse in diesem Verzeichnis. Wiederholt sich solange wie es Unterverzeichnisse gibt.
                
$dirs  += $back[0];    // Inkrementiert $dirs mit der Anzahl der Ausgewerteten Verzeichnisse durch "count_subdirectory"
                
$files += $back[1]; // Inkrementiert $files mit der Anzahl der Ausgewerteten Dateien durch "count_subdirectory"
            
} elseif(is_file($dir.'/'.$file)) { // Prüft ob es sich um eine Datei handelt
                
$files++; // Inkrementiert $files um 1
            
}
        }
    }
    
    
$rtn = array($dirs$files); // Erstelle ein Array aus den beiden Werten
    
return $rtn// Gebe das Array zurück
}


Ausgabe der Werte:
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<?php
$verzeichnis 
'./example/';

$anzahl filecounter($verzeichnis); // Bekommt ein Array mit den Informationen zurück
$ordner  $anzahl[0];
$dateien $anzahl[1];

echo 
"Es befinden sich $dateien Dateien im Verzeichnis \"$verzeichnis\"";

echo 
"Es befinden sich $ordner Ordner im Verzeichnis \"$verzeichnis\"";


Ich hoffe ich konnte einigen damit weiterhelfen
Falls Fragen sind, schreibt es unter diesem Beitrag oder schreibt mir über meine Webseite.

Viele Grüße

Marlight
www.marlight-music.de




Post wurde schon 6x editiert, das letzte mal am 07.12.2015 um 13:06 von Marlight
06.12.2015, 02:13 Profil | PM | Homepage | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Codeschnipsel » Alle Dateien und Ordner in einem Verzeichnissen zählen   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz