使用虚拟主机进行文件上传时最常用的工具莫过于FTP了,但是使用FTP有一个弊端就是文件太多时上传或下载速度比较慢,如果上传时将文件打包,上传后在 空间解压缩,同样下载前将文件打包压缩以压缩包的形式下载,这样速度就快多了。其实PHP就可以做到这一点,将文件压缩成zip格式并且可以解压缩。我使 用了很多发现最好用的还是pclzip,pclzip可以将文件或文件夹压缩成zip格式的压缩文件。下面给出几个例子:

压缩文件:

<?php

require_once('pclzip.lib.php');

$zip = new PclZip('./test.zip'); //生成压缩文件的路径

$arr = array(
            './a',
            './b.txt',
            './x'
         );

$v_list = $zip->add($arr);
          if ($v_list == 0) {
            die("Error : ".$archive->errorInfo(true));
          }else{
            echo 'success';
          }

?>

上面代码中add方法表示添加文件或文件夹,参数是一个文件列表,可以是数组的形式。

如果要压缩一个文件夹还可以使用create方法。

解压文件:

  1. <?php
  2. require_once('pclzip.lib.php');
  3. $zip = new PclZip('./test.zip');//压缩文件的路径
  4. if ($zip->extract(PCLZIP_OPT_PATH, './outpath') == 0) {
  5. die("Error : ".$archive->errorInfo(true));
  6. }else{
  7. echo 'extract success';
  8. }
  9. ?>

使用PHP对文件进行压缩解压(zip)的更多相关文章

  1. (转载)C#压缩解压zip 文件

    转载之: C#压缩解压zip 文件 - 大气象 - 博客园http://www.cnblogs.com/greatverve/archive/2011/12/27/csharp-zip.html C# ...

  2. Java压缩/解压.zip、.tar.gz、.tar.bz2(支持中文)

    本文介绍Java压缩/解压.zip..tar.gz..tar.bz2的方式. 对于zip文件:使用java.util.zip.ZipEntry 和 java.util.zip.ZipFile,通过设置 ...

  3. Linux_文件打包,压缩,解压

    一.压缩命令 文件格式:*.gz 命令:gzip 文件名 (ps:不能压缩目录,切压缩后不保留原文件) 压缩前 -rw-r--r--. 1 root root 315 Sep 6 21:03 df.t ...

  4. 【.Net Core】ZipFile类--文件的压缩解压

    NuGet引用官网自带的System.IO.Compression.ZipFile; var filename = "测试压缩解压文件"; var path = Directory ...

  5. PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩 &&搞个鸡巴毛,写少了个‘/’号,浪费了一天

    PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有 ...

  6. python对文件的压缩解压

    python自带的zipfile的模块支持对文件的压缩和解压操作 zipfilp.ZipFile 表示创建一个zip对象 zipfile.ZipFile(file[, mode[, compressi ...

  7. C#压缩解压zip 文件

    /// <summary> /// Zip 压缩文件 /// </summary> public class Zip { public Zip() { } #region 加压 ...

  8. PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

    文章转载自:https://my.oschina.net/junn/blog/104464 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PH ...

  9. 原生java 压缩解压zip文件

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

随机推荐

  1. Rotating Scoreboard - POJ 3335(半面相交求多边形内核)

    题目大意:RT 分析:所谓内核可以理解为在多边形内存在点可以在这个点上看到多边形内部所有的部分,当然怎么求出来就是问题的关键了.我们知道多边形的每条边都是边界值,边的左边和右边肯定是一部分属于多边形一 ...

  2. SSH-KeyGen 的用法 【转载】

    SSH-KeyGen 的用法 secureCrt通过密钥登录 做法:1.登录A机器 2.ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或 ...

  3. Java或web中解决所有路径问题

    Java开发中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径 ...

  4. dig命令 安装

    获取容器 dns 信息 需要安装dig 命令 yum install bind-utils

  5. FASTDFS 5X安装

    FASTDFS 5X安装 http://www.wingdevops.com/?p=603 流行的开源分布式文件系统有很多,FastDFS 是国人在mogileFS的基础上进行改进的key-value ...

  6. mybatis0201 01复习

    mybatis是什么? mybatis是一个持久层框架,是apache下的开源项目,前身是itbatis,是一个不完全的ORM框架(因为mybatis提供输入和输出的映射,需要程序员自己写sql语句) ...

  7. unix进程的环境--unix环境高级编程读书笔记

    http://blog.csdn.net/xiaocainiaoshangxiao/article/category/1800937

  8. PHP内核探索之变量(1)变量的容器-Zval

    http://blog.csdn.net/ohmygirl/article/details/41542445

  9. classpath多个包添加

    转的: 把某目录下的所有子目录和子目录下面的下层和更下层目录也添加到CLASSPATH里面,更具需求写了两句,发上来分享,备忘. 在Linux下可以通过这样的方法把/opt/.../lib目录下的所有 ...

  10. CentOS6.5编译安装最新MySQL 5.7.11

    安装前工作:1,从官方网址下载MySQL5.7.11源码包,大概49M2,安装好CentOS6.5 64位操作系统.建议update操作系统,以便是此版本最新的3. yum -y install  g ...