首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP脚本循环遍历目录中的所有文件?

PHP脚本循环遍历目录中的所有文件?
EN

Stack Overflow用户
提问于 2010-11-17 14:58:57
回答 8查看 142.8K关注 0票数 158

我正在寻找一个PHP脚本,它可以遍历目录中的所有文件,这样我就可以对文件名执行一些操作,例如格式化、打印或将其添加到链接。我希望能够按名称、类型或按创建/添加/修改的日期对文件进行排序。(想想花哨的目录“index”。)我还希望能够将排除项添加到文件列表中,例如脚本本身或其他“系统”文件。(就像...的“目录”。)

因为我希望能够修改脚本,所以我更感兴趣的是查看PHP文档并学习如何自己编写PHP文档。也就是说,如果有任何现有的脚本,教程和诸如此类的东西,请让我知道。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-11-17 15:15:03

您可以使用DirectoryIterator。php手册中的示例:

代码语言:javascript
复制
<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>
票数 273
EN

Stack Overflow用户

发布于 2011-04-12 07:20:33

如果您不能访问DirectoryIterator类,请尝试执行以下操作:

代码语言:javascript
复制
<?php
$path = "/path/to/files";

if ($handle = opendir($path)) {
    while (false !== ($file = readdir($handle))) {
        if ('.' === $file) continue;
        if ('..' === $file) continue;

        // do something with the file
    }
    closedir($handle);
}
?>
票数 47
EN

Stack Overflow用户

发布于 2010-11-17 15:12:08

使用scandir()函数:

代码语言:javascript
复制
<?php
    $directory = '/path/to/files';

    if (!is_dir($directory)) {
        exit('Invalid diretory path');
    }

    $files = array();
    foreach (scandir($directory) as $file) {
        if ($file !== '.' && $file !== '..') {
            $files[] = $file;
        }
    }

    var_dump($files);
?>
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4202175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档