当前位置: 首页 > 面试题库 >

获取目录中的文件

邵阳辉
2023-03-14
问题内容

如何使用PHP获取目录内的文件名?

我找不到使用Google的相关命令,所以希望这个问题能对那些类似的问题有所帮助。


问题答案:

有很多方法。较旧的方法是scandir
DirectoryIterator可能是最好的方法。

还有readdir(与一起使用opendir)和glob

以下是一些有关如何使用每个示例打印当前目录中所有文件的示例:

DirectoryIterator 用法:(推荐)

foreach (new DirectoryIterator('.') as $file) {
    if($file->isDot()) continue;
    print $file->getFilename() . '<br>';
}

scandir 用法:

$files = scandir('.');
foreach($files as $file) {
    if($file == '.' || $file == '..') continue;
    print $file . '<br>';
}

opendirreaddir用法:

if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if($file == '.' || $file == '..') continue;
        print $file . '<br>';
    }
    closedir($handle);
}

glob 用法:

foreach (glob("*") as $file) {
    if($file == '.' || $file == '..') continue;
    print $file . '<br>';
}

如评论中所述,这glob是很好的,因为我在那里使用的星号实际上可以用于对文件进行匹配,因此glob('*.txt')可以获取文件夹中的所有文本文件,并glob('image_*')获取以image_开头的所有文件。



 类似资料:
  • 问题内容: 使用此代码 返回特定目录中文件夹和文件的总和,而不用关心 子目录 。我想获取目录及其子目录中所有文件的数量。 PS:返回所有文件和文件夹的总和几乎无关紧要。 任何帮助表示赞赏,谢谢 问题答案: 试试这个。 它可能会帮助您。

  • 问题内容: 如何获取最新的文件名或添加到目录中的文件路径? 问题答案:

  • 问题内容: 假设我有一个URL:我想获得目录下所有文件/目录的列表。 我正在使用Java 5。 我可以使用此程序http://www.httrack.com/获得dir的列表,但是使用Java我不知道是否可行。 有谁知道如何用Java获得它?或者,如果Java无法执行,该程序将如何完成工作? 问题答案: 有一些条件: 服务器必须已启用目录列表,以便您查看其内容。 我没有办法(没有API或HTTP动

  • 问题内容: 我希望这将是一件简单的事情,但是我找不到任何能够做到这一点的东西。 我只想获取给定文件夹/目录中的所有文件夹/目录。 因此,例如: 我希望得到一个数组: 或者上面的路径,如果那是它的服务方式… 那么已经有什么可以做以上的事情吗? 问题答案: 这是此答案的较短的同步版本,它可以列出当前目录中的所有目录(是否隐藏): 节点10.10.0+的更新 我们可以使用的新选项来跳过额外的通话:

  • 问题内容: 有没有办法只选择目录中的最后一个文件(带有扩展名?) 还是我必须解析整个目录并使用检查? 问题答案: 是的,您必须通读它们。但是由于目录访问已被缓存,因此您不必担心。

  • 我希望这将是一个简单的事情,但我找不到任何东西在那里这样做。 我只想获取给定文件夹/目录内的所有文件夹/目录。 例如: 我希望得到一个数组: 或者上面的路径,如果是这样的话... 那么是否已经存在任何可以做到上述的事情呢?