RMS123
Gebruiker
- Lid geworden
- 15 nov 2009
- Berichten
- 873
Hallo,
Eerder gebruikte ik altijd deze code om een directory uit te lezen, alleen wil ik nu een lijst met directories in de folder ./files/ ZONDER files en ZONDER subdirectories, hoe moet ik dit dan wijzigen?
Ik zat te denken aan "$file == '.' || $file == '..' || $file == 'index.htm' || $file == 'list.php'" te veranderen naar: "is_dir($file) == false" maar dat werkt niet, en dan krijg ik alsnog de subdirs...
Kan iemand mij helpen?
Edit:
Voor de duidelijkheid:
Ik moet dus een lijst met dirs hebben die in de map files staan. en de subdirs in die mappen wil ik niet zien, hoe doe ik dat?
Eerder gebruikte ik altijd deze code om een directory uit te lezen, alleen wil ik nu een lijst met directories in de folder ./files/ ZONDER files en ZONDER subdirectories, hoe moet ik dit dan wijzigen?
Ik zat te denken aan "$file == '.' || $file == '..' || $file == 'index.htm' || $file == 'list.php'" te veranderen naar: "is_dir($file) == false" maar dat werkt niet, en dan krijg ik alsnog de subdirs...
Kan iemand mij helpen?
PHP:
function listdir($dir='./files/') {
if (!is_dir($dir)) {
return false;
}
$files = array();
listdiraux($dir, $files);
return $files;
}
function listdiraux($dir, &$files) {
$handle = opendir($dir);
while (($file = readdir($handle)) !== false) {
if ($file == '.' || $file == '..' || $file == 'index.htm' || $file == 'list.php') {
continue;
}
$filepath = $dir == './files/' ? $file : $dir . '/' . $file;
if (is_link($filepath))
continue;
if (is_file($filepath))
$files[] = $filepath;
else if (is_dir($filepath))
listdiraux($filepath, $files);
}
closedir($handle);
}
$files = listdir('.');
sort($files, SORT_LOCALE_STRING);
foreach ($files as $f) {
echo "$f";
}
Edit:
Voor de duidelijkheid:
Ik moet dus een lijst met dirs hebben die in de map files staan. en de subdirs in die mappen wil ik niet zien, hoe doe ik dat?
Laatst bewerkt: