Hur gör jag för att räkna hur många underkataloger det finns i en bestämd katalog?
Räkna underkataloger?
2 svar · 312 visningar · startad av soocks
$dir = 'bilder';
$count = 0;
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_dir($dir.'/'.$file)) {
$count++;
}
}
closedir($handle);
}
echo "Katalogen $dir innehåller $count st underkataloger";
Nått sånt här kanske:
echo "Antal subfolders: " . countSubFolder("c:\\windows\\");
function countSubFolders($dir)
{
$subfolders = 0;
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (is_dir($dir . $file) && $file != "." && $file != "..")
$subfolders++;
}
closedir($dh);
}
return $subfolders;
}
Edit: inte många sekunder efter... ;)
Edit 2:
Om man även vill ha med undermapparnas undermappar blir det en rekursiv funktion:
echo "Antal subfolders: " . countSubFolder("c:/windows/");
function countSubFolders($dir)
{
$subfolders = 0;
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (is_dir($dir . $file) && $file != "." && $file != "..") {
$subfolders++;
$subfolders += countSubFolders($dir . $file . "/");
}
}
closedir($dh);
}
return $subfolders;
}
Koden är otestad, så det är inte säkert att den funkar.