PHP读取zip包

$filename = $this->upload->data('file_name');   //得到文件夹(此处是CI框架上传文件之后得到文件名称)

$file_root = 'canddata/'.$time.'/'.$filename;//确定你上传的zip包的目录

$zip = new ZipArchive;//新建一个ZipArchive的对象

$res = $zip->open($file_root);//打开zip

//读取zip

if($res === TRUE){

  $zip->extractTo("./canddata/".$time."/".time());//将zip包解压到指定目录

  $zip->close();

  $dirs = "./canddata/".$time."/".time()."/cand_picture/cands";//打开zip包之后文件夹下边的文件

  $file = $this->wenjian($dirs);//递归查询文件夹下的文件 (如果zip包中是单个的文件就不需要遍历文件夹,只需要处理对应的文件即可)

  //处理相对应的的文件

}

//遍历文件
    public function wenjian($dir)
    {
        $files = array();
        if(@$handle = opendir($dir)) { //注意这里要加一个@,不然会有warning错误提示:)
            while(($file = readdir($handle)) !== false) {
                if($file != ".." && $file != ".") { //排除根目录;
                    if(is_dir($dir."/".$file)) { //如果是子文件夹,就进行递归
                        $files[$file] = my_dir($dir."/".$file);
                    } else { //不然就将文件的名字存入数组;
                        $files[] = $file;
                    }
     
                }
            }
            closedir($handle);
            return $files;
        }
    }

$tmp=$myfile['tmp_name'];
$path="./images/".$myfile['name'];
if (!move_uploaded_file($tmp, $path)) {
    die('上传失败');
}

posted @ 2018-06-12 14:15  王浩栋  阅读(580)  评论(0编辑  收藏  举报