4

我想在文件夹中获取所有具有“_img”和 PDF 类型的文件

而不是使用

$fileArray = scandir($dir);
foreach ($fileArray as $file) {
    if (preg_match("_img",$file) && pathinfo($file, PATHINFO_EXTENSION) == 'pdf'){
        $filteredArray[] = $file;
    }
}

有没有捷径或者这是最好的方法?谢谢

4

2 回答 2

3

使用 php glob()函数

glob() 函数根据 libc glob() 函数使用的规则搜索所有匹配模式的路径名,该规则类似于普通 shell 使用的规则

<?php 
  $filteredArray = array();
  foreach (glob($dir."/*_img.pdf") as $filename)
     $filteredArray[] = $filename;
?>

还有fnmatch()函数将文件名与模式匹配

最后一个解决方案是使用DirectoryIteratorFilterIterator

于 2013-07-05T09:51:31.667 回答
2

对我来说,这很好用。你走进你的目录并将其存储到一个数组中。

在此级别,不需要优化。你会赢得花生失去时间来优化这一点。

于 2013-07-05T09:53:58.133 回答