php # 39;Glob()选择图像


PHP' glob() to select images

在我的例子中,我有一个包含许多图像的文件夹。在我的源代码中,我想获得一个产品的所有图像。

E。g 产品ID (PID)12345,在我的文件夹中,我有这样的图像:

123456789.jpg
123.jpg
1234.png
12345.png
12345-1.jpg
123456-1.bmp
12345-2.gif

我要选择的图像是:

12345.png
12345-1.jpg
12345-2.gif

所有其他图像或不是来自该产品。

目前我选择他们像:

glob("path/to/the/images/" . $product_id . "*.*", GLOB_BRACE);

问题是. .这也给我带来了这样的图像:

123456789.jpg
123456-1.bmp

是否可以这样说:给我所有符合PID后面跟着DOT(.)的图像,以及所有符合PID后面跟着MINUS(-)的图像?

我在这里测试它,当然在我的源代码中测试了一段时间,但找不到解决方案。

我想这就是你需要的:

glob("path/to/the/images/" . $product_id . "[.-]*", GLOB_BRACE);

您可以像下面的

那样使用if语句来实现这一点
if(glob("path/to/the/images/*" . $product_id . ".*", GLOB_BRACE) 
    OR glob("path/to/the/images/" . $product_id . "-*", GLOB_BRACE)) { 
       //DO Stuff 
}