How can I show a folder's limit in a directory using PHP? The code below shows all folders but I only want to see 10 folders.
function folderlist() {
$startdir = './';
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
if(is_dir($startdir)) {
if($dh = opendir($startdir)) {
while(($folder = readdir($dh)) !== false) {
if(!(array_search($folder, $ignoredDirectory) > -1)) {
if(filetype($startdir.$folder) == "dir") {
$mtime = filemtime($startdir.$folder);
$directorylist[$mtime]['name'] = $folder;
$directorylist[$mtime]['path'] = $startdir;
}
}
}
closedir($dh);
}
}
krsort($directorylist, SORT_NUMERIC);
return $directorylist;
}
$folders = folderlist();
foreach($folders as $folder) {
$path = $folder['path'];
$name = $folder['name'];
echo '<div class="urbangreymenu"><ul><li><a href="'.$path.'index.php?wallpapers='.$name.'" target="_parent">'.$name.'</a></li></ul></div>';
}
Change three lines:
function folderlist($limit = 10) {
and ...
while (($folder = readdir($dh)) !== false && $limit) {
and...
$limit--;
Together:
function folderlist($limit = 10) {
$startdir = './';
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
if (is_dir($startdir)) {
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false && $limit) {
if (!(array_search($folder,$ignoredDirectory) > -1)) {
if (filetype($startdir . $folder) == "dir") {
$mtime = filemtime($startdir . $folder);
$directorylist[$mtime]['name'] = $folder;
$directorylist[$mtime]['path'] = $startdir;
$limit--;
}
}
}
//Rest of code unchanged...