php获取文件目录所有文件

1.php 获取文件目录所有文件 如下实例代码  (这个代码 是为  bootstrap-treeview.js  树 结构 专属制作的 解决了中文乱码问题 ):

//获取目录所有文件
/*
     * @param  readfileAll() //读取所有文件及文件夹
     * @param  iconv  // 字符转码
     * @param  $dirName // 基于 ./Public/Uploads/  的文件夹
     * @param 2017 11/20/11:03
     */

function readfileAll($dirName){
    $array=array();
    $arrays=array();
    $dir=$dirName;
    if(is_dir(iconv('utf-8','gb2312',$dir))==true){
        if($handle=opendir(iconv('utf-8','gb2312',$dir))){//打开文件内容
            while(false!==($files=readdir($handle))){//读取文件内容
                $files=iconv('gb2312','utf-8',$files);
                if($files!="."&&$files!=".."){
                    $files=iconv('utf-8','utf-8',$files);//字符转义
                    $dir=iconv('utf-8','utf-8',$dir);
                    $new_dir=$dir."/".$files;
                    if(is_dir(iconv('utf-8','gb2312',$dir."/".$files))==false)//is_file 是判断是否是目录还是文件  是目录就返回否  不是的话返回 true
                    {
                        $array['text']= '<span class="glyphicon glyphicon-file"  style="margin-right: 10px;color: #bababa;"></span>  ' .$files;
                        $array['nodes']="";
                        $array['tags']=['<button class="btn btn-danger btn-xs" data-file="'.explode('./Public/Uploads/',$new_dir)[1].'" id="file_delete">删除</button>  <button class="btn btn-danger btn-xs" data-file="'.explode('./Public/Uploads/',$new_dir)[1].'" id="file_see">预览文件</button>'];
                        array_push($arrays,$array);
                    }
                    else
                    {
                        $array['text']= '<span class="glyphicon glyphicon-folder-close"  style="margin-right: 10px;color: #a6a6a6;"></span>  ' .$files;
                        $array['tags']=['<button class="btn btn-danger btn-xs" data-file="'.explode('./Public/Uploads/',$new_dir)[1].'"  id="file_delete">删除</button>  <button class="btn btn-danger btn-xs" data-file="'.explode('./Public/Uploads/',$new_dir)[1].'" id="file_edit">编辑</button>  <button class="btn btn-danger btn-xs file_file" data-file="'.explode('./Public/Uploads/',$new_dir)[1].'" id="file_file">添加目录</button>  <button class="btn btn-danger btn-xs" data-file="'.explode('./Public/Uploads/',$new_dir)[1].'" id="file_chuan">上传文件</button>'];
                        $array['nodes']= readfileAll($new_dir);//递归调用
                        array_push($arrays,$array);
                    }
                }
            }
            closeDir($handle);
        }
    }else{
        if(is_file(iconv('utf-8','gb2312',$dir))==false){
            array_push($arrays,'没有找到目录');
            array_push($arrays,'fail');
        }
    }
    return $arrays;//返回二维数组
}

猜你喜欢

转载自blog.csdn.net/qq_38366657/article/details/81394306