Sin*_*ino 34 php scandir hidden-files
我使用以下代码获取目录中的图像列表:
$files = scandir($imagepath);
但$files也包括隐藏文件.我该如何排除它们?
mar*_*rio 66
在Unix上,您可以使用preg_grep过滤掉以点开头的文件名:
$files = preg_grep('/^([^.])/', scandir($imagepath));
$files = array_diff(scandir($imagepath), array('..', '.'));
或者
$files = array_slice(scandir($imagepath), 2);
可能比
$files = preg_grep('/^([^.])/', scandir($imagepath));
我倾向于将DirectoryIterator用于类似这样的事情,它提供了一种忽略点文件的简单方法:
$path = '/your/path';
foreach (new DirectoryIterator($path) as $fileInfo) {
    if($fileInfo->isDot()) continue;
    $file =  $path.$fileInfo->getFilename();
}