如何从readdir中排除隐藏的文件夹和文件?

是否可以从
readdir()
功能中排除隐藏文件和文件夹?我有一个目录,其中有许多文件夹和一些隐藏文件夹。我想读除除隐藏文件夹以外的所有文件夹。 谢谢你的帮助。 Kcssm     
已邀请:
如果您只想排除以点“。”开头的文件,您可以执行以下操作:
$files = readdir('/path/to/folder');
$files = array_filter($files, create_function('$a','return ($a[0]!=".");'));
这将只返回不以点“。”开头的文件。 在Windows上,隐藏文件的工作方式不同,我不知道如何找到它们。     
使用SPL迭代器:DirectoryIterator + FilterIterator。     
您可以排除以“。”开头的文件和文件夹。通过使用以下代码
$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>";
      }
   }
 }
    
你也可以使用scandir和preg_grep来隐藏所有以“。”开头的文件和文件夹。请参考下面的代码,     
$dir    = '/Users/Umesh/Sites/';
$files = preg_grep('/^([^.])/', scandir($dir));

print_r($files);

?>
    

要回复问题请先登录注册