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

<?php

# 文件字符集
header("Content-type: text/html; charset=utf-8"); class TL_ZIP{
# web 跟
private $TL_ROOT; # zip包 目录
private $TL_DOWNLOAD; # zip文件名
private $TL_zipName; public function __construct(){
# 设置web根目录
$this->TL_ROOT = str_replace("\\", '/', dirname(__FILE__) . "/"); # 设置zip目录
$this->TL_DOWNLOAD = str_replace("\\", '/', dirname(__FILE__)) . "/DOWNLOAD/";
} # 设置 压缩包名称
public function getZipName($zipName){
# 判断一下文件名是否合法
$this->TL_zipName = $this->TL_DOWNLOAD . $zipName . ".zip";
return true;
} # 获取 压缩包名称
public function setZipName(){
return $this->TL_zipName;
} # 生成压缩包
public function createZip($arrFiles){
# 判断是否是数组
if(!is_array($arrFiles)){
return false;
} # 判断是否设置文件名 如果没有设定文件名 我就自己生成一个 哼!!!!
if(!$this->TL_zipName){
$this->TL_zipName = $this->TL_DOWNLOAD . date('YmdHis') . rand(111111111,999999999) . ".zip";
} # 定义zip文件名
$zipName = $this->TL_zipName; # 调用zip类
$zipClass = new ZipArchive();
if($zipClass->open($zipName, ZIPARCHIVE::CREATE) !== TRUE) {
return false;
}
foreach($arrFiles as $path){ # 判断是否是文件
if(is_file($this->TL_ROOT.$path)){ # 把文件加入到压缩包中
$zipClass->addFile($this->TL_ROOT.$path, basename($this->TL_ROOT.$path));
}
}
$zipClass->close();
return $zipName;
}
} $zipObj = new TL_ZIP();
$zipObj->createZip(
array(
'从设定的跟目录开始写文件地址',
'从设定的跟目录开始写文件地址',
'从设定的跟目录开始写文件地址'
)
);

文章来源: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. tyvj 1666 城市建设【最小生成树】

    -Wall是个好东西,要不然我至死都看不出来我把(b[i]+b[j])写成了(b[i],b[j])-- 还是来自lyd的题解: (其实原来课件第一行式子写错了没有-1,然而我用sai手画了一个上去hh ...

  2. .NET CORE技术路线图

    分享一张图.来自微信.不做解释.

  3. GDI+ 加载PNG图片

    #include <GdiPlus.h>#pragma comment(lib, "GdiPlus.lib")using namespace Gdiplus; clas ...

  4. python网络爬虫之四简单爬取豆瓣图书项目

    一.爬虫项目一: 豆瓣图书网站图书的爬取: import requests import re content = requests.get("https://book.douban.com ...

  5. [Usaco2012 Open]Balanced Cow Subsets

    Description Farmer John's owns N cows (2 <= N <= 20), where cow i produces M(i) units of milk ...

  6. 洛谷 P1501 [国家集训队]Tree II

    看来这个LCT板子并没有什么问题 #include<cstdio> #include<algorithm> using namespace std; typedef long ...

  7. 洛谷 P2742 [USACO5.1]圈奶牛Fencing the Cows || 凸包模板

    整篇都是仅做记录... 蓝书上的板子.水平序,单调栈.先求下凸包,再求上凸包.叉积的作用是判定向量的位置关系. 48行的作用是在求上凸包的时候不至于去删下凸包中的点.上凸包中第一个点被认为是t1. 另 ...

  8. ACM_送气球(规律题)

    送气球 Time Limit: 2000/1000ms (Java/Others) Problem Description: 为了奖励近段时间辛苦刷题的ACMer,会长决定给正在机房刷题的他们送气球. ...

  9. ios 创建和绘画pdf文件 -转

    转自:http://blog.csdn.net/ant1239/article/details/7761676 本方法为项目中画pdf的一个方法,画pdf,一共分为几步,1,获取地址,有两种获取地址方 ...

  10. E. The Values You Can Make 背包,同时DP

    http://codeforces.com/problemset/problem/688/E 题目需要在n个数中找出一个集合,使得这个集合的和为val,然后问这些所有集合,能产生多少个不同的和值. 题 ...