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

如何通过php正确显示目录和子目录中的所有文件

如何通过php正确显示目录和子目录中的所有文件

PHP
元芳怎么了 2021-10-08 21:29:02
我有 4 个文件夹,我想检查其中的图像和 php 文件。这是结构文件夹安排。该main_folder包含两个子文件夹(second_folder和third_folder) ,而third_folder包含子文件夹(fourth_folder)等。目前使用下面的代码,我只能访问first_main_folder 中的所有文件。$files = glob('first_Main_folder/*.{jpg,png,gif,php}', GLOB_BRACE);foreach($files as $file) {echo "<br>$file<br>";}请问如何访问剩余子文件夹(second_folder、third_folder、fourth_folder)中的文件等等谢谢first_Main_foldertest.pngdata.phpcheck.gif    second_folder    tony.jpg    mark.gif    action.php    third_folder    index.php    post.php    sender.php    han.gif        fourth_folder            catch.php            index2.php            redirect.php       and so on 
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

下面的这个函数将主目录和所有子目录都扫描到最后。这个对我有用。谢谢。


function outputFiles1($path){

    // Check directory exists or not

    if(file_exists($path) && is_dir($path)){

        // Search the files in this directory

        $files = glob($path ."/*");

        if(count($files) > 0){

            // Loop through retuned array

            foreach($files as $file){

                if(is_file("$file")){

                    // Display only filename

                    echo basename($file) . filesize($file) . "<br>";

                } else if(is_dir("$file")){

                    // Recursively call the function if directories found

                    outputFiles1("$file");

                }

            }

        } else{

            echo "ERROR: No such file found in the directory.";

        }

    } else {

        echo "ERROR: The directory does not exist.";

    }

}


// Call the function

outputFiles1("C:/xampp/htdocs/first_main_folder");


查看完整回答
反对 回复 2021-10-08
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

下面的例子取自这篇文章。


function rsearch($folder, $pattern='/.*/') {

    $dir = new RecursiveDirectoryIterator($folder);

    $ite = new RecursiveIteratorIterator($dir);


    $files = new RegexIterator($ite, $pattern, RegexIterator::GET_MATCH);

    $fileList = array();


    foreach($files as $file) {

        $fileList = array_merge($fileList, $file);

    }

    return $fileList;

}



$result = rsearch('./');

print_r($result);


查看完整回答
反对 回复 2021-10-08
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

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