2013-03-03 47 views
0

我试图设置一个包含目录中所有图像文件的数组,我的index.php设置在与图像相同的目录中。使用代码IM是glob()返回一个空数组

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

var_dump($images); 

返回 - 在浏览器array(0) { } ..任何想法什么即时做错了什么?

对不起,如果这是这样一个明显的问题IM仍然很绿到PHP

+0

你很可能得指定完整路径。 – Anonymous 2013-03-03 20:53:40

+0

即使图像文件与脚本文件位于同一目录中,也必须完成此操作吗? – sam 2013-03-03 20:55:40

+1

请再次参阅['glob()'](http://php.net/glob)手册页。只是用逗号引用不是用于指定替代文件扩展名的有效语法。 – mario 2013-03-03 20:56:50

回答

1

您应该使用GLOB_BRACE从PHP文档:

所有路径名根据匹配模式的水珠()函数搜索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);