如何在php中添加通配符名称到目录搜索

时间:2011-10-14 22:13:18

标签: php regex arrays

我有一个小的PHP脚本,它将收集目录中的所有文件。此外,我正在清理这些名字,以跳过我不想要的名字:

$dirname = "./_images/border/";
$border_images = scandir($dirname);
$ignore = Array(".", "..");
  foreach($border_images as $border){
    if(!in_array($border, $ignore)) echo "TEST".$border;    
}

此目录将包含我想要查找的图像。在这些图像中,将有缩略图版本和每个图像的完整版本。我打算让每个图像标记为* -thumbnail或* -full,以便更轻松地进行排序。

我想要找到的是一种方法,最好使用$ ignore数组,添加一个通配符字符串,该字符串将被检查条件识别。例如,在我的$ ignore数组中添加* -full会使得带有此标记的文件在其文件名中的任何位置都会被忽略。我很确定in_array不接受这个。如果这不可能,可以使用正则表达式吗?如果是这样,我的表达是什么?

感谢。

3 个答案:

答案 0 :(得分:2)

你可能正在寻找php的功能glob()

$files_full = glob('*-full.*');

答案 1 :(得分:2)

答案 2 :(得分:2)

Take a look at glob function.

  

glob - 查找与模式匹配的路径名