从扫描器中排除隐藏文件

2022-08-30 11:38:59

我使用以下代码来获取目录中的图像列表:

$files = scandir($imagepath);

但也包括隐藏文件。如何排除它们?$files


答案 1

在 Unix 上,您可以使用preg_grep来过滤掉以点开头的文件名:

$files = preg_grep('/^([^.])/', scandir($imagepath));

答案 2

我倾向于使用D directoryIterator来处理这样的事情,它提供了一种忽略点文件的简单方法:

$path = '/your/path';
foreach (new DirectoryIterator($path) as $fileInfo) {
    if($fileInfo->isDot()) continue;
    $file =  $path.$fileInfo->getFilename();
}

推荐