列出多个文件扩展名的 PHP 文件05 2021

php
2022-08-30 09:15:25

这是我当前的代码:

$files = glob("*.jpg");

这工作正常。但是,我想列出其他图像类型,例如.png,gif等。

我是否可以请一些帮助来修改上面的代码以使其正常工作。我尝试了以下方法,但没有成功:

$files = glob("*.jpg","*.png","*.gif");

$files = glob("*.jpg,*.png,*.gif);

以及其他变体...


答案 1
$files = glob("*.{jpg,png,gif}", GLOB_BRACE);

答案 2

05 2021

这只是@Jeroen答案的扩展。

要记住的事情

“旗帜”很重要

由于您使用的是大括号,因此请记住必需的。如果没有该标志,如果项目,您将获得一个空数组GLOB_BRACE

$files = glob("*.{jpg,png,gif}", GLOB_BRACE);

排序

这也将帮助您以编写的方式对文件进行排序。
下面的排序基于大括号内扩展的顺序。

$files = glob("*.{jpg,png,gif}", GLOB_BRACE);
xx.jpg
xx.jpg
xx.png
xx.gif
xx.gif

$files = glob("*.{gif,jpg,png}", GLOB_BRACE);
xx.gif
xx.gif
xx.jpg
xx.jpg
xx.png

+ 奖金

如果您必须列出所有文件但没有文件夹,则可以使用此选项

$files = glob("*.{*}", GLOB_BRACE);

推荐