glob()函数返回一个空数组

3

我将尝试设置一个包含目录中所有图像文件的数组,我的index.php与这些图像在同一目录下。我正在使用的代码是:

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

var_dump($images);

这段代码返回给浏览器的是 - array(0) { },你知道我做错了什么吗?

如果这是一个非常明显的问题,对不起,因为我对PHP还很陌生。


你可能需要指定完整路径。 - Anonymous
即使图像文件与脚本文件在同一目录中,这也必须完成吗? - sam
1
请再次查看glob()手册页面。仅仅加入逗号并不是指定替代文件扩展名的有效语法。 - mario
1个回答

4
你应该使用 PHP 文档中的 GLOB_BRACE

glob() 函数根据 libc 的 glob() 函数使用的规则搜索与模式匹配的所有路径名,这类似于常见 shell 使用的规则。

GLOB_BRACE - 将 {a,b,c} 扩展为匹配 'a'、'b' 或 'c'

例如:

$directory = __DIR__;
$images = glob("$directory/*.{jpg,jpeg,png,gif}", GLOB_BRACE);
var_dump($images);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接