【问题标题】:How do I exclude hidden folders and files from readdir?如何从 readdir 中排除隐藏文件夹和文件?
【发布时间】:2011-02-11 09:56:12
【问题描述】:

是否可以从readdir() 函数中排除隐藏文件和文件夹?我有一个目录,其中有许多文件夹和一些隐藏文件夹。我想读取除隐藏文件夹之外的所有文件夹。

感谢您的帮助。

Kcssm

【问题讨论】:

  • 在什么平台上以什么方式隐藏? Windows 还是 Linux?

标签: php readdir hidden-files


【解决方案1】:

如果您只想排除以点“.”开头的文件,您可以执行以下操作:

$files = readdir('/path/to/folder');
$files = array_filter($files, create_function('$a','return ($a[0]!=".");'));

这只会返回不以点“。”开头的文件

在 Windows 上,隐藏文件的工作方式不同,我不知道如何找出它们。

【讨论】:

    【解决方案2】:

    您可以排除以“.”开头的文件和文件夹。通过使用以下代码

    $ignoreList = array('cgi-bin', '.', '..', '._');
       if ($directory = opendir(APPPATH . 'controllers/user')) {
      while (false !== ($filename = readdir($directory))) {
        if (!in_array($filename, $ignoreList) and substr($filename, 0, 1) != '.') {
             echo $filename."<br>";
          }
       }
     }
    

    【讨论】:

      【解决方案3】:

      使用 SPL 迭代器:DirectoryIterator + FilterIterator

      【讨论】:

        【解决方案4】:

        您还可以使用 scandir 和 preg_grep 来隐藏所有以“.”开头的文件和文件夹。请参考下面的代码,

        $dir    = '/Users/Umesh/Sites/';
        $files = preg_grep('/^([^.])/', scandir($dir));
        
        print_r($files);
        
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-12
          • 2017-10-12
          • 2012-01-21
          • 2018-12-13
          • 2021-02-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-20
          相关资源
          最近更新 更多