0

我想要一个目录($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]

似乎只考虑了每个逗号分隔表达式的最后一个范围([...])!为什么会发生这种情况?

谢谢!:-)

4

2 回答 2

0

由于您在 Windows 平台上,您可以简单地删除范围。只需使用.jpeg、 .jpg 等。

于 2013-07-31T14:33:21.393 回答
0

这可能会帮助您解决问题

关于此类问题的 PHP 手册评论

于 2013-07-31T14:23:34.140 回答