【PHP】------- 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;//返回二维数组
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰要做大神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值