как исключить файлы, не являющиеся папками, из этой функции readdir? - PullRequest
0 голосов
/ 15 сентября 2010

Ниже перечислены папки, index.php и favicon.ico в каталоге.Я хочу видеть только папки.

Есть идеи?

Спасибо.

   <?php
     // opens this directory
     $myDirectory = opendir(".");

     // gets each entry
     while($entryName = readdir($myDirectory)) {
       $dirArray[] = $entryName;
     }

     // closes directory
     closedir($myDirectory);

     //  counts elements in array
     $indexCount   = count($dirArray);

     // sorts files
     sort($dirArray);

     // print 'em
     print("<table width='100%' cellspacing='10'>
             <tr>
               </tr>\n");

     // loops through the array of files and print them all
     for($index=0; $index < $indexCount; $index++) {
           if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files
           print("<tr><td><a href='$dirArray[$index]'>$dirArray[$index]</a></td>");
           print("</tr>\n");
       }
     }
     print("</table>\n");
   ?>

1 Ответ

4 голосов
/ 15 сентября 2010

Используйте следующее:

 // gets each entry
 while($entryName = readdir($myDirectory)) {
   if(is_dir($entryName)) {
     $dirArray[] = $entryName;
   }
 }

Тем не менее, я предлагаю использовать glob() для операций такого типа. e.g.:

glob($dir . '/*', GLOB_ONLYDIR)
...