用大括号括起来的glob()和星号

时间:2013-03-06 09:44:44

标签: php filenames design-patterns glob

我想找一些特殊的文件名。因此我使用glob()

$foundResults = glob($directory . '{data_*.csv, log_*.txt}', GLOB_BRACE);

此代码仅查找我的第一个模式data_*.csv。所以似乎大括号之间不允许使用星号?

我有什么选择?我只能考虑使用for each构造多次调用glob()。还是有更好的算法/功能?

2 个答案:

答案 0 :(得分:1)

这对我来说很好用:

$foundResults = glob('{tes*.php,tes*.xls}', GLOB_BRACE);

echo "<pre>";
print_r($foundResults);

输出:

Array
(
    [0] => test.php
    [1] => test.xls
)

检查$directory的值检查尾部斜杠/。如果它不在那里就把它。

答案 1 :(得分:1)

正确的呼叫没有空格字符

$foundResults = glob($directory . '{data_*.csv,log_*.txt}', GLOB_BRACE);

我从这个主题得到了提示:help with glob/GLOB_BRACE