php zip压缩包上传解压

获取上传的压缩包

            //将压缩包解压放到某个文件夹
            $file = $_FILES['zipfile'];
            //获取文件名
            $name = $file['name'];
            //获取网站根目录
            $path = $_SERVER['DOCUMENT_ROOT'];
            //定义文件保存路径(注:这里文件存放的位置比较深,定义三个文件路径是为了判断文件每一层的文件是否存在,不存在则创建并赋予0777最高权限)
            $filepath1 = $path.'/attachment/images/' . $_W['uniacid']; 
            $filepath2 = $path.'/attachment/images/' . $_W['uniacid']. '/' . date('Y');
            $filepath = $path.'/attachment/images/' . $_W['uniacid'] . '/' . date('Y') . '/' . date('m');
            //文件夹不存在则创建文件夹
            if(!is_dir($filepath1)){
                mkdir($filepath1,0777);
                chmod($filepath1,0777);
            }
            if(!is_dir($filepath2)){
                mkdir($filepath2,0777);
                chmod($filepath2,0777);
            }
            if(!is_dir($filepath)){
                mkdir($filepath,0777);
                chmod($filepath,0777);
            }
            //使用PHP函数移动文件
            $res = move_uploaded_file($file['tmp_name'],$filepath.'/'.$name);
            //实例化ZipArchive类
            $zip = new ZipArchive();

            //打开压缩文件,打开成功时返回true
            if ($zip->open($filepath.'/'.$name) === true) {
                //解压文件到获得的路径a文件夹下
                $zip->extractTo($filepath);
                //关闭
                $zip->close();
            } else {
                show_json(0, '图片解压失败');
            }

 

文件夹下面的文件移动到父级文件

            //复制上传的图片到上级目录下
            $handle=dir($filepath.'/image');   //使用dir读取目录下的文件 返回 Directory 类的实例
            while( $entry=$handle->read() ) {      //通过dir的read()方法获取文件
                if( ($entry!=".") && ($entry!="..") ){
                    if(!is_dir($filepath.'/image/'.$entry)){   //判断当前获取的是否是个目录 目录则跳过  文件则复制到上级目录下
                        copy($filepath.'/image/'.$entry,$filepath."/".$entry);
                    }
                }
            }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PHP小渣渣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值