0

我想在特定文件夹中查找与 2 个不同文件扩展名 .gz 和 .bin 匹配的所有文件

我正在使用这样的 Folder::find 函数:

$dir = new Folder('/home/');
$files = $dir->find('.*\.gz');
if($files == null || empty($files))
{
    $this->set('files', "No Files Found");
    echo "empty";
}
else
{
    $this->set('files', $files);
}

如何调整 find 函数的正则表达式以查找两者?

此外,如果没有找到任何东西,我在 if 语句中设置的视图变量 $files 将不起作用。如果目录中有文件,它可以工作,但如果没有,则不会显示“未找到文件”。它回显文本“空”,但不设置变量。

谢谢

4

1 回答 1

0

我发现要查找不止一种文件类型,请使用 | 正则表达式中的运算符。'。.gz|。.bin' -> 感谢 flec。

我在视图中的 $files 变量遇到的问题是我将它用作选择输入的选项。

我没有直接将其设置为字符串,如果它为空,我只是在数组中创建一个具有文本值的元素。

    if($files == null || empty($files))
    {
        $files[0] = "No Files Found";
        $this->set('files', $files);
    }
    else
    {
        $this->set('files', $files);
    }
于 2012-08-08T13:50:22.187 回答