使用glob()获取所有不以给定文本开头的文件

时间:2014-06-08 14:27:48

标签: php regex file-io

我了解以下内容将如何返回所有扩展名为.txt的文件。我想做同样的事情,但不包括以'排除'?开头的那些例如,some/path/exclude_somefile.txt不应包括在内。

$files = glob('/some/path/*.txt');

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我相当确定glob()使用正则表达式模式,因此您应该使用正则表达式语法对其进行过滤。试试这个:

$files = glob('/some/path/(?!exclude_)*.txt');

这使用了负面的环顾,我不确定glob()是否会理解它,但要试一试。

编辑:

glob()不支持高级正则表达式函数,例如环视。这是我的建议。

$files = glob('/some/path/*.txt');

foreach($files as $key => $filename)
{
    if(strpos($filename, "/exclude_"))
        unset($files[$key]);
}