为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
心有法竹 2019-10-09 15:33:54
我正在寻找一个循环遍历目录中所有文件的PHP脚本,以便可以使用文件名进行操作,例如格式,打印或将其添加到链接中。我希望能够按名称,类型或创建/添加/修改的日期对文件进行排序。(想想目录“ index”。)我还希望能够将排除项添加到文件列表中,例如脚本本身或其他“系统”文件。(类似于.和..“目录”。)由于我希望能够修改脚本,因此我对查看PHP文档和学习如何自己编写更感兴趣。就是说,如果有任何现有的脚本,教程和诸如此类的东西,请告诉我。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

您可以使用DirectoryIterator。来自PHP手册的示例:


<?php

$dir = new DirectoryIterator(dirname(__FILE__));

foreach ($dir as $fileinfo) {

    if (!$fileinfo->isDot()) {

        var_dump($fileinfo->getFilename());

    }

}

?>


查看完整回答
反对 回复 2019-10-09
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

如果您无权访问DirectoryIterator类,请尝试以下操作:


<?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);

}

?>


查看完整回答
反对 回复 2019-10-09
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

使用scandir()功能:


<?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);

?>


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 498 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信