如何从此 readdir 函数中排除非文件夹文件?

发布于 2024-09-19 12:22:28 字数 1007 浏览 13 评论 0原文

下面列出了目录中的文件夹、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");
   ?>

The following lists the folders, the index.php and the favicon.ico in the directory. I want to see only folders.

Any ideas?

Thanks.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

各空 2024-09-26 12:22:29

使用以下内容:

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

不过,我建议使用 glob() 进行此类操作。例如:

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

Use the following:

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

I however suggest to use glob() for this kind of operation. e.g.:

glob($dir . '/*', GLOB_ONLYDIR)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文