$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('上传失败');
}

PHP读取zip包的更多相关文章

  1. 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档

    .net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...

  2. java笔试题: ——将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面

    将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面 import java.io.*; import java.util.zip.ZipEntry; import java.uti ...

  3. java application maven项目打自定义zip包

    1.配置pom.xml文件,添加build节点 <build> <!-- 输出的包名 --> <finalName>p2p</finalName> &l ...

  4. Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作【转】

    本文转载自:http://blog.csdn.net/mu0206mu/article/details/7399822 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过 ...

  5. OTA升级中关于update.zip包的一些总结【转】

    本文转载自:http://429564140.iteye.com/blog/2337165 update.zip包整理 一. update.zip包的目录结构           |----boot. ...

  6. Mysql zip包在Windows上安装配置

    环境:Windows7 64位系统.mysql-5.7.16-winx64.zip 1.在mysql官网上下载所需的mysql zip包,如我下载的是mysql-5.7.16-winx64.zip: ...

  7. java 实现多个文件的Zip包的生成

    最近在项目中遇到多个文件的达成Zip包,由于对这块不熟,在网上找到一个,现在忘了找的谁的,如果您发现了,请告诉我你的链接,我指明出处 下面是相关代码: package run.utils; impor ...

  8. [Java 基础] 使用java.util.zip包压缩和解压缩文件

    reference :  http://www.open-open.com/lib/view/open1381641653833.html Java API中的import java.util.zip ...

  9. shell命令:给当前目录里一个文件压缩一份不包含.svn文件的zip包

    filepath=$(cd ")"; pwd) packagePath="$filepath"/package zipPath="$filepath& ...

随机推荐

  1. anroid之异步不如异步

    executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR) 使用自定义的CorePoolSize为7的Executor(Executors.newFixedTh ...

  2. python3 报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 201: invalid continuation byte

    代码: # -*- coding:utf-8 -*- from urllib import request resp = request.urlopen('http://www.xxx.com') p ...

  3. 修改 Linux VM 中单个用户最大进程数的限制

    在部署有并发任务执行的虚机上, 会遇到 SSH 无法访问的问题. 本文将帮助你找出其中一种比较特殊的原因, 并提供解决方案. Note 以下案例分析基于 CentOS 7, 对于其他版本的 Linux ...

  4. Elasticsearch 2.x.x版本如何安装bigdesk

    ES插件BigDesk安装 bigdesk支持的最新版本的ES是1.3.0 ... 1.3.x 然而想要在新版本ES上安装(2.x.x),项目中遇到过一些BUG,在ES在最新版本中有修复,所以采用了2 ...

  5. MyEcplise的注册代码

    代码分析 package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt ...

  6. Sql去重一些技巧

    下午的时候遇到点问题,Sql去重,简单的去重可以用 DISTINCT 关键字去重,不过,很多情况下用这个解决不了问题.重复的数据千变万化,例如:类似于qq.微信的最近联系人功能,读取这些数据肯定要和消 ...

  7. [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片

    在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张bmp图,但是如果是一张png或者一张jpg的图,那么还能显示成功么?答案是否定的 我们需要移植SDL_image库来支持除bm ...

  8. 输出预测边界框,NMS非极大值抑制

    我们预测阶段时: 生成多个锚框 每个锚框预测类别和偏移量 但是,当同一个目标上可能输出较多的相似的预测边界框.我们可以移除相似的预测边界框.——NMS(非极大值抑制). 对于一个预测边界框B,模型会计 ...

  9. PHP------XML

    XML XML的含义:可扩展标记语言,设计出来的目的是:传输数据 HTML的含义:超文本标记语言,设计出来的目的是:显示数据 它们两个设计出来的目的是不一样的. 它们两个都是标记语言,相似性比较高. ...

  10. centos7 firewall指定IP与端口访问(常用)

    1.启动防火墙 systemctl start firewalld.service 2.指定IP与端口 firewall-cmd --permanent --add-rich-rule="r ...