zoukankan      html  css  js  c++  java
  • PHP 实现遍历出目录及其子文件

    手册(有PHP4的实现方式哦):
    https://www.php.net/manual/zh/function.scandir.php

    直接附代码吧
    PHP5和PHP7 直接有scandir()函数,遍历出当前目录下的所有文件。

    
    function myScanDir($dir)
    {
        $file_arr = scandir($dir);
        $new_arr = [];
        foreach($file_arr as $item){
    
            if($item!=".." && $item !="."){
    
                if(is_dir($dir."/".$item)){
    
                    $new_arr[$item] = myScanDir($dir."/".$item);
    
                }else{
                    $new_arr[] = $item;
                }
            }
        }
        return $new_arr;
        
    }
    
    $dir = myScanDir("aa");
    
    var_dump($dir);
    

    PHP4,通过opendir()、readdir()、closedir()配合实现:

    function myScanDir($dir)
    {
        $dh  = opendir($dir);
        $tmp_arr = [];
        while (false !== ($filename = readdir($dh))) {
            if($filename !=".." && $filename !="."){
                if(is_dir($dir."/".$filename)){
                    $tmp_arr[$filename] = myScanDir($dir."/".$filename);
                }else{
                    $tmp_arr[] = $filename;
                }
            }
    
        }
        closedir($dh);
        return $tmp_arr;
    
    
    }
    
    $dir = myScanDir("aa");
    
    var_dump($dir);
    

    运行结果:

  • 相关阅读:
    Go 函数
    Go 基础
    Emmet使用详解
    Linux系统安装7.4
    NTP时间服务
    部署Java和Tomcat
    Linux用户管理
    Linux定时任务
    Linux正则详解
    Linux目录结构
  • 原文地址:https://www.cnblogs.com/xinxinmifan/p/scandir.html
Copyright © 2011-2022 走看看