PHP:压缩 Zip
文章来源: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的更多相关文章
- 在线压缩zip
<?php //验证密码 $password = "test"; ?> <html> <head> <meta http-equiv=&q ...
- java zip API实现压缩和解压缩zip包
package zip; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io ...
- Linux中解压、压缩 ZIP文件
解压 unzip -o -d /home/v-gazh myfile.zip # 把myfile.zip文件解压到 /home/v-gazh/ # -o:不提示的情况下覆盖文件: # -d:-d /h ...
- Linux下的压缩zip,解压缩unzip命令详解及实例
实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...
- asp.net 文件压缩zip下载
今天分享下昨天做的一个东西 asp.net 的文件 zip 批量下载,首先你需要去 到http://dotnetzip.codeplex.com这个站点下载zip 的包,在里面找到 Ionic.Z ...
- C# .NET 使用第三方类库DotNetZip解压/压缩Zip rar文件
DotNetZip on CodePlex: http://dotnetzip.codeplex.com/ 详细的可以看源代码……总之感觉比SharpZipLib好用.而且DotNetZip支持VB, ...
- 【转】ubuntu下解压缩zip,tar,tar.gz和tar.bz2文件
原文网址:http://blog.sina.com.cn/s/blog_5da93c8f0101h1uj.html 在Linux下面如何去压缩文件或者目录呢? 在这里我们将学习zip, tar, ta ...
- Linux下的压缩zip,解压缩unzip命令具体解释及实例
实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...
- java压缩zip文件中文乱码问题(转——作者:riching)
本人遇到了同样的问题,用了以下方案,奇迹般的解决了.我很纳闷为什么,经理说:好读书,不求甚解,不要问为什么... 用java来打包文件生成压缩文件,有两个地方会出现乱码 1.内容的中文乱码问题,这个问 ...
- POI导出大量数据的简单解决方案(附源码)-Java-POI导出大量数据,导出Excel文件,压缩ZIP(转载自iteye.com)
说明:我的电脑 2.0CPU 2G内存 能够十秒钟导出 20W 条数据 ,12.8M的excel内容压缩后2.68M 我们知道在POI导出Excel时,数据量大了,很容易导致内存溢出.由于Excel ...
随机推荐
- bzoj 3675: [Apio2014]序列分割【斜率优化dp】
首先看这个得分方式,容易发现就相当于分k段,每段的值和两两乘起来. 这样就很容易列出dp方程:设f[i][j]为到j分成分成i段,转移是 \[ f[i][j]=max { f[k][j]+s[k]*( ...
- bzoj 4176: Lucas的数论【莫比乌斯反演+杜教筛】
首先由这样一个结论: \[ d(ij)=\sum_{p|i}\sum_{q|j}[gcd(p,q)==1] \] 然后推反演公式: \[ \sum_{i=1}^{n}\sum_{j=1}^{n}\su ...
- bzoj4758: [Usaco2017 Jan]Subsequence Reversal(区间dp)
4758: [Usaco2017 Jan]Subsequence Reversal Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 76 Solved ...
- SQL 实战教程(八)
http://www.studyofnet.com/news/247.html 1.修改字段为自增 alter table [dbo].[Logs] drop column ID alter tabl ...
- NOIP-2018
时隔一年,再度踏入NOIp的考场,内心感慨万分 Day0 在中巴上昏睡了3h++,终于到了长沙理工大学,国际学术交流中心......不太对,好像是国际交流中心与综合实验楼连线--理工大学的另一个大门外 ...
- 比较C#中几种常见的复制字节数组方法的效率[转]
[原文链接] 在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList<T>.Copy,BinaryReader.ReadByte ...
- jmeter(九)分布式测试
Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...
- 自学 iOS - 三十天三十个 Swift 项目 第三天
做了这个小demo 之后 感觉OC 和swift 还是有很大的差别的 自己还是要去多看些swift的语法 用的不是很熟练 1.这个demo 的资源文件 我都是用原工程的 2.同样的自定义cell 的 ...
- [ USACO 2013 OPEN ] Photo
\(\\\) Description 有一个长度为 \(n\) 的奶牛队列,奶牛颜色为黑或白. 现给出 \(m\) 个区间 \([L_i,R_i]\) ,要求:每个区间里 有且只有一只黑牛 . 问满足 ...
- Redux中的异步操作
异步操作的另一种方案就是让Action Creator返回一个Promise对象. 我们这边使用 redux-promise 中间件 import { createStore, applyMidd ...