2010-09-14 82 views
0

以下列出目錄中的文件夾,index.php和favicon.ico。我只想看到文件夾。如何從此readdir函數中排除非文件夾文件?

任何想法?

謝謝。

<?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"); 
    ?> 

回答

4

使用以下:

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

不過我建議使用​​3210對於這種操作。例如:

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

+1使用'glob()' – alex 2010-09-14 23:47:07

+0

您的第一個解決方案完美地工作。非常感謝。 – David 2010-09-14 23:56:54

+0

我是一個php新手。我不知道如何/在哪裏粘貼GLOB解決方案。它會替代代碼,請遵循代碼嗎? – David 2010-09-14 23:59:30