文章来源:http://www.cnblogs.com/hello-tl/p/7661222.html

  1. <?php
  2.  
  3. # 文件字符集
  4. header("Content-type: text/html; charset=utf-8");
  5.  
  6. class TL_ZIP{
  7. # web 跟
  8. private $TL_ROOT;
  9.  
  10. # zip包 目录
  11. private $TL_DOWNLOAD;
  12.  
  13. # zip文件名
  14. private $TL_zipName;
  15.  
  16. public function __construct(){
  17. # 设置web根目录
  18. $this->TL_ROOT = str_replace("\\", '/', dirname(__FILE__) . "/");
  19.  
  20. # 设置zip目录
  21. $this->TL_DOWNLOAD = str_replace("\\", '/', dirname(__FILE__)) . "/DOWNLOAD/";
  22. }
  23.  
  24. # 设置 压缩包名称
  25. public function getZipName($zipName){
  26. # 判断一下文件名是否合法
  27. $this->TL_zipName = $this->TL_DOWNLOAD . $zipName . ".zip";
  28. return true;
  29. }
  30.  
  31. # 获取 压缩包名称
  32. public function setZipName(){
  33. return $this->TL_zipName;
  34. }
  35.  
  36. # 生成压缩包
  37. public function createZip($arrFiles){
  38. # 判断是否是数组
  39. if(!is_array($arrFiles)){
  40. return false;
  41. }
  42.  
  43. # 判断是否设置文件名 如果没有设定文件名 我就自己生成一个 哼!!!!
  44. if(!$this->TL_zipName){
  45. $this->TL_zipName = $this->TL_DOWNLOAD . date('YmdHis') . rand(111111111,999999999) . ".zip";
  46. }
  47.  
  48. # 定义zip文件名
  49. $zipName = $this->TL_zipName;
  50.  
  51. # 调用zip类
  52. $zipClass = new ZipArchive();
  53. if($zipClass->open($zipName, ZIPARCHIVE::CREATE) !== TRUE) {
  54. return false;
  55. }
  56. foreach($arrFiles as $path){
  57.  
  58. # 判断是否是文件
  59. if(is_file($this->TL_ROOT.$path)){
  60.  
  61. # 把文件加入到压缩包中
  62. $zipClass->addFile($this->TL_ROOT.$path, basename($this->TL_ROOT.$path));
  63. }
  64. }
  65. $zipClass->close();
  66. return $zipName;
  67. }
  68. }
  69.  
  70. $zipObj = new TL_ZIP();
  71. $zipObj->createZip(
  72. array(
  73. '从设定的跟目录开始写文件地址',
  74. '从设定的跟目录开始写文件地址',
  75. '从设定的跟目录开始写文件地址'
  76. )
  77. );

文章来源:http://www.cnblogs.com/hello-tl/p/7661222.html

PHP:压缩 Zip的更多相关文章

  1. 在线压缩zip

    <?php //验证密码 $password = "test"; ?> <html> <head> <meta http-equiv=&q ...

  2. java zip API实现压缩和解压缩zip包

    package zip; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io ...

  3. Linux中解压、压缩 ZIP文件

    解压 unzip -o -d /home/v-gazh myfile.zip # 把myfile.zip文件解压到 /home/v-gazh/ # -o:不提示的情况下覆盖文件: # -d:-d /h ...

  4. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  5. asp.net 文件压缩zip下载

     今天分享下昨天做的一个东西 asp.net 的文件  zip 批量下载,首先你需要去 到http://dotnetzip.codeplex.com这个站点下载zip 的包,在里面找到 Ionic.Z ...

  6. C# .NET 使用第三方类库DotNetZip解压/压缩Zip rar文件

    DotNetZip on CodePlex: http://dotnetzip.codeplex.com/ 详细的可以看源代码……总之感觉比SharpZipLib好用.而且DotNetZip支持VB, ...

  7. 【转】ubuntu下解压缩zip,tar,tar.gz和tar.bz2文件

    原文网址:http://blog.sina.com.cn/s/blog_5da93c8f0101h1uj.html 在Linux下面如何去压缩文件或者目录呢? 在这里我们将学习zip, tar, ta ...

  8. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

  9. java压缩zip文件中文乱码问题(转——作者:riching)

    本人遇到了同样的问题,用了以下方案,奇迹般的解决了.我很纳闷为什么,经理说:好读书,不求甚解,不要问为什么... 用java来打包文件生成压缩文件,有两个地方会出现乱码 1.内容的中文乱码问题,这个问 ...

  10. POI导出大量数据的简单解决方案(附源码)-Java-POI导出大量数据,导出Excel文件,压缩ZIP(转载自iteye.com)

    说明:我的电脑 2.0CPU 2G内存 能够十秒钟导出 20W 条数据 ,12.8M的excel内容压缩后2.68M 我们知道在POI导出Excel时,数据量大了,很容易导致内存溢出.由于Excel ...

随机推荐

  1. bzoj 2216: [Poi2011]Lightning Conductor【决策单调性dp+分治】

    参考:https://blog.csdn.net/clove_unique/article/details/57405845 死活不过样例看了题解才发现要用double.... \[ a_j \leq ...

  2. 【POJ - 2251】Dungeon Master (bfs+优先队列)

    Dungeon Master  Descriptions: You are trapped in a 3D dungeon and need to find the quickest way out! ...

  3. 状压dp之二之三 炮兵阵地/玉米田 By cellur925

    一.简单的状压dp 玉米田 题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ ...

  4. 关于Swing中JFrame等顶级容器的层次还有设置背景的方式

    资料来自:http://blog.csdn.net/qq_32006373/article/details/49659129 http://yuncode.net/code/c_5196327caac ...

  5. [转]访问 OData 服务 (WCF Data Services)

    本文转自:http://msdn.microsoft.com/zh-SG/library/dd728283(v=vs.103) WCF 数据服务 支持开放式数据协议 (OData) 将数据作为包含可通 ...

  6. Jquery插件jqprint-0.3.js实现打印

    1.首先引用Jquery和jqprint-0.3.js(依赖于Jquery的) <script language="javascript" src="jquery- ...

  7. 原创 SqlParameter 事务 批量数据插入

    不错,很好,以后防注入批量事务提交虽然麻烦点研究了几个小时,但不会是问题了 SqlCommand cmd; HelpSqlServer helps = new HelpSqlServer(); //定 ...

  8. PHP(二)常用函数

    数学函数 数组函数 字符串函数

  9. IDEA安装使用

    下载地址: https://www.jetbrains.com/idea/download/previous.html 这里我下载的是:2016.3.8版本的 安装: 安装成功后,需要秘钥的话,在 h ...

  10. H.264学习笔记1——相关概念

    此处记录学习AVC过程中的一些基本概念,不定时更新. frame:帧,相当于一幅图像,包含一个亮度矩阵和两个色度矩阵. field:场,一帧图像,通过隔行扫描得到奇偶两场,分别称为顶场和底场或奇场和偶 ...