【问题标题】:Get files using file extension only仅使用文件扩展名获取文件
【发布时间】:2016-01-25 02:26:20
【问题描述】:

知道如何仅使用文件扩展名来获取我的文件吗?例如。 (.cfg)

我尝试了 foreach (glob("*.cfg") as $filename),但我需要知道路径才能使用 glob 方法。

【问题讨论】:

  • 如果您的文件在同一个文件夹中,您可以使用scandir
  • @EkoJunaidiSalam 不同的文件夹
  • @YanShuangLow 有效果吗?你是怎么做的?
  • @T3H40 没问题.. 函数 glob 应该返回所有文件名,但我只得到最后一个文件,即使我循环它

标签: php


【解决方案1】:

正如@bansi 所说,您应该

试试RecursiveDirectoryIterator

那里给出的例子应该适合你:

$basepath        = "root/directory/for/search";
$start_directory = new RecursiveDirectoryIterator($basepath);
$iterator        = new RecursiveIteratorIterator($iterator);
$result          = new RegexIterator($iterator, '/^.+\.cfg$/i', RecursiveRegexIterator::GET_MATCH);

得到结果后,您可以在列表中访问您的文件路径,就像您通过$basepath 输入的一样:

foreach( iterator_to_array($result) as $file)
{
    echo "config found at: $file[0]";
}

您可能会发现这个post 也很有用。

更多背景知识可以在this article找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多