php 列表在目录和子目录等的数组文件中匹配模式。

发布于 2024-10-08 11:36:10 字数 68 浏览 2 评论 0原文

我希望列出目录及其子目录中与模式匹配的所有文件,并将列表作为数组返回以供以后使用。我实际上也想传递一系列目录来执行此操作。

I'm looking to list all the files in a dir and its sub dirs that match a pattern and return the list as an array for later use. I would actually like to pass an array of dirs to do this too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

递刀给你 2024-10-15 11:36:10

$dirs= new ArrayIterator(array('./', '/dir_two'));
$list = array();
foreach($dirs as $dir){
    $dir_iterator = new RecursiveDirectoryIterator($dir);
    $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);

    foreach($iterator as $file){
        if(preg_match('~.*~',$file->getFilename()))
                array_push($list,$file->getPathname());
    }
}
print_r($list);


$dirs= new ArrayIterator(array('./', '/dir_two'));
$list = array();
foreach($dirs as $dir){
    $dir_iterator = new RecursiveDirectoryIterator($dir);
    $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);

    foreach($iterator as $file){
        if(preg_match('~.*~',$file->getFilename()))
                array_push($list,$file->getPathname());
    }
}
print_r($list);

坐在坟头思考人生 2024-10-15 11:36:10

glob,但可能这些模式没有足够的表达能力您的需求。它使用与 shell 使用的模式相同的模式,而不是正则表达式。

There's glob, but it might be that the patterns do not have enough expressive power for your needs. It uses the same patterns that are used by the shell, not regular expressions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文