Dateien zählen (auch in Unterordnern)
Arne
- php
0 Vinzenz Mai0 Tom
Hallo,
habe eine Ordner Struktur mit circa 9000 Word-Dokumenten, Bildern usw.
Eine Funktion zum Zählen von Dateien habe ich schon gefunden:
<?php
$count=0;
$tree = dir("./");
while ($data = $tree->read())
{
$count++;
}
echo "<p>$count Dateien</p>";
?>
Diese Funktion zählt jedoch nur in dem aktuellen Ordner.
Da ich mich nicht wirklich mit PHP auskenne und auch im Internet nichts gefunden habe frage ich hier:
Wie kann ich Dateien in einer kompletten Ordnerstruktur zählen?
Auch die Dateien in den Unterordnern sollen durchsucht werden.
Würde mich über einen Quelltext freuen.
MFG Arne
Hallo Arne,
Diese Funktion zählt jedoch nur in dem aktuellen Ordner.
Wie kann ich Dateien in einer kompletten Ordnerstruktur zählen?
Auch die Dateien in den Unterordnern sollen durchsucht werden.
passe den Code von http://www.php-faq.de/q/q-code-verzeichnis.html an Deine Bedürfnisse an.
Freundliche Grüße
Vinzenz
Hallo Arne,
Diese Funktion zählt jedoch nur in dem aktuellen Ordner.
Wie kann ich Dateien in einer kompletten Ordnerstruktur zählen?
Auch die Dateien in den Unterordnern sollen durchsucht werden.passe den Code von http://www.php-faq.de/q/q-code-verzeichnis.html an Deine Bedürfnisse an.
Freundliche Grüße
Vinzenz
Hallo,
vielen Dank für die Antwort
habe PHP 4.0 und die Funktion gibt nicht einmal das aus, als was sie beschrieben ist.
Würde sich vielleicht noch jemand die Mühe machen und mir helfen?
MFG
Arne
Hallo,
[link:http://de3.php.net/manual/de/language.functions.php@title=function] dir_size($d='./'){
$size=array('file'=>0,'dir'=>0);
$d=([link:http://de3.php.net/manual/de/function.substr.php@title=substr]($d,-1)=='/') ? $d : $d.'/';
[link:http://de3.php.net/manual/de/function.clearstatcache.php@title=clearstatcache]();
[link:http://de3.php.net/manual/de/language.control-structures.php#control-structures.if@title=if]($dir=@[link:http://de3.php.net/manual/de/function.opendir.php@title=opendir]($d)){
[link:http://de3.php.net/manual/de/control-structures.while.php@title=while](($f=[link:http://de3.php.net/manual/de/function.readdir.php@title=readdir]($dir))!==FALSE)
if([link:http://de3.php.net/manual/de/function.filetype.php@title=filetype]($d.$f)!='dir')
$size['file']++;
[link:http://de3.php.net/manual/de/control-structures.elseif.php@title=elseif](![link:http://de3.php.net/manual/de/function.in-array.php@title=in_array]($f,array('.','..'))){
$size['dir']++;
$t=dir_size($d.$f.'/');
$size['dir']+=$t['dir'];
$size['file']+=$t['file'];
}
[link:http://de3.php.net/manual/de/function.closedir.php@title=closedir]($dir);
}
else [link:http://de3.php.net/manual/de/function.return.php@title=return]('Fehler bei '.$d);
return($size);
}
ein silbernes Tablett, hast Du selbst?
Gruß aus Berlin!
eddi
Hello,
Diese Funktion zählt jedoch nur in dem aktuellen Ordner.
Da ich mich nicht wirklich mit PHP auskenne [...]
Hast Du denn überhaupt schon mal programmiert?
Hast Du Dich schon mal mit Rekursion beschäftigt?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom