0

PHPを使用してディレクトリ内のフォルダの制限を表示するにはどうすればよいですか?以下のコードはすべてのフォルダーを示していますが、10個のフォルダーのみを表示したいと思います。

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>';
}
4

1 に答える 1

2

3行を変更します。

function folderlist($limit = 10) {

と ...

while (($folder = readdir($dh)) !== false && $limit) {

と...

$limit--;

一緒:

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...
于 2013-03-10T07:36:46.520 に答える