PHP:Windows上的函数glob() - 具有多个范围的模式

时间:2013-07-31 14:09:44

标签: php windows glob

我想要一个目录中的图像列表($ path)。我想对文件扩展进行不区分大小写的研究。以下代码适用于Linux,但不适用于Windows。

foreach ( glob("$path/{*.[jJ][pP][gG],*.[jJ][pP][eE][gG],*.[gG][iI][fF],*.[pP][nN][gG],*.[bB][mM][pP],*.[tT][iI][fF][fF]}", GLOB_BRACE | GLOB_NOCHECK ) as $file ) {

   echo $file;

}

我添加了GLOB_NOCHECK标志来查看计算出的模式。这是回复:

fotogallery/dir/[gG]
fotogallery/dir/[gG]
fotogallery/dir/[fF]
fotogallery/dir/[gG]
fotogallery/dir/[pP]
fotogallery/dir/[fF]

似乎只考虑每个以逗号分隔的表达式的最后范围([...])! 为什么会这样?

谢谢! : - )

2 个答案:

答案 0 :(得分:0)

这可以帮助您解决问题

PHP Manual comment about this sort of issue

答案 1 :(得分:0)

由于您使用的是Windows平台,因此只需删除范围即可。只需使用 .jpeg, .jpg等。