我想将所有包含'_img'和PDF类型的文件放在文件夹
中而不是使用
$fileArray = scandir($dir);
foreach ($fileArray as $file) {
if (preg_match("_img",$file) && pathinfo($file, PATHINFO_EXTENSION) == 'pdf'){
$filteredArray[] = $file;
}
}
有没有捷径或者这是最好的方式?感谢
答案 0 :(得分:2)
使用php glob()功能
glob()函数根据libc glob()函数使用的规则搜索匹配模式的所有路径名,这类似于常见shell使用的规则
<?php
$filteredArray = array();
foreach (glob($dir."/*_img.pdf") as $filename)
$filteredArray[] = $filename;
?>
还有fnmatch()函数,它将文件名与模式匹配
最后一个解决方案是将DirectoryIterator与FilterIterator
一起使用答案 1 :(得分:2)
对我来说这很好用。 你走进你的目录并将其存储到一个数组。
在此级别,不需要优化。你会赢得花生失去时间来优化这一点。