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 2111: [ZJOI2010]Perm 排列计数【树形dp+lucas】
是我想复杂了 首先发现大于关系构成了一棵二叉树的结构,于是树形dp 设f[i]为i点的方案数,si[i]为i点的子树大小,递推式是\( f[i]=f[i*2]*f[i*2+1]*C_{si[i]-1} ...
- php 文件锁flock解决并发
方案一:使用文件锁排它锁 flock函数用于获取文件的锁,这个锁同时只能被一个线程获取到,其它没有获取到锁的线程要么阻塞,要么获取失败 在获取到锁的时候,先查询,如果查询成功则进行操作,然后释放锁 f ...
- 【洛谷4769】[NOI2018] 冒泡排序(动态规划_组合数学)
题目: 洛谷 4769 博客页面左下角的嘴嘴瓜封神之战中的题目 分析: 一个排列交换次数为 \(\frac{1}{2}\sum_{i=1}^{n}|i-p_i|\) 的充要条件是这个排列不存在长度为 ...
- [转]F# Samples 101 - Visual Studio 2010
http://code.msdn.microsoft.com/F-Samples-101-0576cb9f/sourcecode?fileId=18956&pathId=1045958806 ...
- Ajax记录
Ajax简介 在传统的Web应用中,每次请求服务器都会生成新的页面,用户在提交请求后,总是要等待服务器的相应.如果前一个请求没有得到相应,则后一个请求就不能发送.由于这是一种独占式的请求,因此如果服务 ...
- jdk线程池,使用手记
Executors----------------------------------------------Executors------------------------------------ ...
- javaEE web 系统安装时自定义初始化
通常JavaWeb项目在第一次启动时我们需要做一些初始化工作,比如:初始化一个管理员的登录账户和密码,配置缓存.定时任务等,这些操作可以通过手工修改数据库完成,但是容易出错且繁琐,而且也很麻烦.如果这 ...
- contact用法解析
经典用法: mysql> select concat('11','22','33'); +------------------------+ | concat('11','22','33') | ...
- 【译】x86程序员手册37-第10章 初始化
Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...
- 解剖嵌入式设备开发时以SD卡启动时SD卡的存储结构(以三星exynos4412为例)
目前面对高性能产品的嵌入式开发中,用SD卡来代替以往的JLINK显得备受大家喜欢,而且MCU厂家也对以SD卡启动的支持度越来越大,反而对JLINK不在那么重视(不过依旧保留着).一些以开发开发板的公司 ...