首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在列出文件RecursiveIterator时使用忽略数组

在列出文件RecursiveIterator时使用忽略数组
EN

Stack Overflow用户
提问于 2013-01-16 20:50:03
回答 1查看 193关注 0票数 0

我正在使用这个函数递归地获取文件列表,并且它是有效的。

但是,如何修改它,使其忽略在$ignore数组中定义的文件和文件夹?

代码语言:javascript
复制
  function directoryScan($path = 'files', $onlyfiles = true, $fullpath = false)
  {
    $dir = '';
    $ignore = array('.','..','cgi-bin','.DS_STORE','thumb.db','.gitignore', 'folder_to_be_ignored');

    if (isset($path) && is_readable($path))
    {
      $dlist = Array();
      $dir = realpath($path);

      if ($onlyfiles)
      {
        $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
      }
      else
      {
        $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST);
      }

      foreach($objects as $entry => $object)
      {
        if (!$fullpath)
        {
          $entry = str_replace($dir, '', $entry);
          $entry = $path . $entry;
        }

        $dlist[] = $entry;
      }

      vdebug($dlist);
      return $dlist;
    }
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-16 21:01:47

代码语言:javascript
复制
  foreach($objects as $entry => $object)
  {
    if (!in_array($entry, $ignore)
    {
      if (!$fullpath)
      {
        $entry = str_replace($dir, '', $entry);
        $entry = $path . $entry;
      }

      $dlist[] = $entry;
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14358895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档