PHP zip压缩文件及解压

利用ZipArchive 类实现 只有有函数。界面大家自己写

ZipArchive(PHP 5.3 + 已自带不需要安装dll)

 /**
* 文件解压
* @param $zipFile 要解压的文件
* @param $toPath 解压到拿个目录
* @return bool
*/
function zipExtract($zipFile, $toPath)
{
if (empty($zipFile) || empty($toPath)) return false;
$zip = new ZipArchive();
$zip->open($zipFile);
$return = $zip->extractTo($toPath);
$zip->close();
return $return;
} /**
* 文件压缩 需要dirList函数支持
* @param $zipFileName 要保存的zip文件名
* @param $toPath 路径
* @return bool
*/
function ZipPack($zipFileName, $toPath)
{
$zip = new ZipArchive();
$zip->open($zipFileName, ZipArchive::OVERWRITE);
$toPath = str_replace('\\', '/', substr($toPath, -1) !== '/' ? $toPath . '/' : $toPath);
$fileList = dirList($toPath);
foreach ($fileList as $file) {
if (is_dir($file)) {
$file = str_replace($toPath, '', $file);
$zip->addEmptyDir($file);
} else {
$_file = str_replace($toPath, '', $file);
$zip->addFile($file, $_file);
}
}
$zip->close();
return empty($fileList) ? false : true;
} /**
*
* 遍历指定文件夹下的文件及文件夹
* @param $path 要遍历的路径
* @param $dir 是否需要遍历子目录 默认遍历 如果为假 则不遍历
* @return array|bool 返回一维数组
*/
function dirList($path,$dir=true)
{
$path = str_replace('\\', '/', substr($path, -1) !== '/' ? $path . '/' : $path);
if (!is_dir($path)) return false;
$return = array();
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file == '.' || $file == '..') continue;
$file = $path . $file;
$return[] = $file;
if (is_dir($file) && $dir) {
$return['dir'] = dirList($file);
foreach ($return['dir'] as $val) $return[] = $val;
}
}
closedir($handle);
}
unset($return['dir']);
return $return;
}

PHP zip压缩文件及解压的更多相关文章

  1. Java实现zip压缩文件的解压

    需求描述: 前段时间写了一篇博客<Java实现对文本文件MD5加密并ftp传送到远程主机目录>,实现了一部分的业务需求.然而有些业务可能不止传送一个文件,有时候客户需要传多个文件,原有系统 ...

  2. Android 下载zip压缩文件并解压

    网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,在此记录一下下载zip文件并直接解压的方法. 其实也很简单,就是把下载文件和解压zip文件结合到一起.下面即代码: URLConne ...

  3. SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html

    SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html 说明: 1.环境:SpringMVC+Spring+Tomcat7+JDK1.7 2.支持 zip和rar格式的压 ...

  4. pclzip 压缩文件与解压

    类PclZip.class.php下载:PclZip.rar<?php header("Content-type: text/html; charset=utf-8"); f ...

  5. Unity3D研究院之LZMA压缩文件与解压文件

    原地址:http://www.xuanyusong.com/archives/3095 前两天有朋友告诉我Unity的Assetbundle是LZMA压缩的,刚好今天有时间那么就研究研究LZMA.它是 ...

  6. Android下载压缩文件与解压案例

    ackage com.example.jsontest.biz; import java.io.BufferedInputStream; import java.io.BufferedOutputSt ...

  7. 【VC++技术杂谈008】使用zlib解压zip压缩文件

    最近因为项目的需要,要对zip压缩文件进行批量解压.在网上查阅了相关的资料后,最终使用zlib开源库实现了该功能.本文将对zlib开源库进行简单介绍,并给出一个使用zlib开源库对zip压缩文件进行解 ...

  8. Linux下*.tar.bz2等文件如何解压--转

    如果tar不支持j这个参数就先用 bzip2 -d xxx.tar.bz2 把它解压成.tar文件,然后再用 tar xvf xxx.tar 拆包.压缩解压 linux下怎么解后缀名是gzip的文件? ...

  9. Mac上zip,rar,tar文件命令解压和压缩

    经常遇到在windowns上的压缩文件,在mac上解压出现问题,特意总结了下在Terminal里常用命令的方式解压和压缩文件 1.zip压缩文件 zip命令的参数很多,可以利用"zip -- ...

随机推荐

  1. List小练习

    功能:创建链表节点,删除节点,顺序打印,不改变原结构的情况下分别用STL中的stack实现逆序打印和利用函数递归打印 代码如下: //链表问题struct ListNode {    int m_nV ...

  2. SSM三大框架整合详细教程

    使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...

  3. zz[C++]合理的设计和使用消息队列

    http://www.cnblogs.com/egmkang/archive/2012/11/17/2763295.html 生产者消费者问题,是永远的经典. 单纯让多个线程去竞争,占有资源然后处理, ...

  4. SimpleDateFormat的使用

    SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (date -> text).语法分析 (text -> date)和标准化. 下面是个小 ...

  5. c#中override重写和new隐藏

    最近学习c#,昨晚看书看到多态.由于个人本身是从事java开发,于是拿来做对比便是自然的. 进入主题吧. c#中,子类要重写基类的方法,必须要基类声明中带有virtual关键字方法或者带有abstra ...

  6. Git使用笔记(一)

    今天第一次使用Git,在本地和CSDN Code进行代码同步.鉴于“好记性不如烂笔头”的经验教训,特把步骤记录下来. 准备工作: 1. 在CSDN(或者Github)上注册一个帐号,然后创建一个Rep ...

  7. 模块化开发之sea.js实现原理总结

    seajs官网说:seajs是一个模块加载器,所以学习它并不难. 在我的理解就是:本来我们是需要手动创建 script标签 引入 js文件的,但用seajs后,它就自动帮我们完成这些工作. 这里只说实 ...

  8. Linux下Nginx+PHP 简单安装配置

    测试环境 Linux 2.6.18nginx-1.0.4 http://www.nginx.org/php-5.3.6 http://www.php.net/ 一,安装Nginxwget http:/ ...

  9. Thread 线程简单例子

    //这个方法是 静态的 public static void ThreadFunc() {//计数器 ; while(true) { //休眠1秒 Thread.Sleep(); //计数器递增 co ...

  10. 你应该知道的CSS文字大小单位PX、EM、PT[转]

    摘要: 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章, 题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平 ...