PHP zip压缩文件及解压
PHP zip压缩文件及解压
利用ZipArchive 类实现 只有有函数。界面大家自己写
ZipArchive(PHP 5.3 + 已自带不需要安装dll)
/**
* 文件解压
* @param $zipFile 要解压的文件
* @param $toPath 解压到拿个目录
* @return bool
*/
function zipExtract($zipFile, $toPath)
{
if (empty($zipFile) || empty($toPath)) return false;
$zip = new ZipArchive();
$zip->open($zipFile);
$return = $zip->extractTo($toPath);
$zip->close();
return $return;
} /**
* 文件压缩 需要dirList函数支持
* @param $zipFileName 要保存的zip文件名
* @param $toPath 路径
* @return bool
*/
function ZipPack($zipFileName, $toPath)
{
$zip = new ZipArchive();
$zip->open($zipFileName, ZipArchive::OVERWRITE);
$toPath = str_replace('\\', '/', substr($toPath, -1) !== '/' ? $toPath . '/' : $toPath);
$fileList = dirList($toPath);
foreach ($fileList as $file) {
if (is_dir($file)) {
$file = str_replace($toPath, '', $file);
$zip->addEmptyDir($file);
} else {
$_file = str_replace($toPath, '', $file);
$zip->addFile($file, $_file);
}
}
$zip->close();
return empty($fileList) ? false : true;
} /**
*
* 遍历指定文件夹下的文件及文件夹
* @param $path 要遍历的路径
* @param $dir 是否需要遍历子目录 默认遍历 如果为假 则不遍历
* @return array|bool 返回一维数组
*/
function dirList($path,$dir=true)
{
$path = str_replace('\\', '/', substr($path, -1) !== '/' ? $path . '/' : $path);
if (!is_dir($path)) return false;
$return = array();
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file == '.' || $file == '..') continue;
$file = $path . $file;
$return[] = $file;
if (is_dir($file) && $dir) {
$return['dir'] = dirList($file);
foreach ($return['dir'] as $val) $return[] = $val;
}
}
closedir($handle);
}
unset($return['dir']);
return $return;
}
PHP zip压缩文件及解压的更多相关文章
- Java实现zip压缩文件的解压
需求描述: 前段时间写了一篇博客<Java实现对文本文件MD5加密并ftp传送到远程主机目录>,实现了一部分的业务需求.然而有些业务可能不止传送一个文件,有时候客户需要传多个文件,原有系统 ...
- Android 下载zip压缩文件并解压
网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,在此记录一下下载zip文件并直接解压的方法. 其实也很简单,就是把下载文件和解压zip文件结合到一起.下面即代码: URLConne ...
- SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html
SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html 说明: 1.环境:SpringMVC+Spring+Tomcat7+JDK1.7 2.支持 zip和rar格式的压 ...
- pclzip 压缩文件与解压
类PclZip.class.php下载:PclZip.rar<?php header("Content-type: text/html; charset=utf-8"); f ...
- Unity3D研究院之LZMA压缩文件与解压文件
原地址:http://www.xuanyusong.com/archives/3095 前两天有朋友告诉我Unity的Assetbundle是LZMA压缩的,刚好今天有时间那么就研究研究LZMA.它是 ...
- Android下载压缩文件与解压案例
ackage com.example.jsontest.biz; import java.io.BufferedInputStream; import java.io.BufferedOutputSt ...
- 【VC++技术杂谈008】使用zlib解压zip压缩文件
最近因为项目的需要,要对zip压缩文件进行批量解压.在网上查阅了相关的资料后,最终使用zlib开源库实现了该功能.本文将对zlib开源库进行简单介绍,并给出一个使用zlib开源库对zip压缩文件进行解 ...
- Linux下*.tar.bz2等文件如何解压--转
如果tar不支持j这个参数就先用 bzip2 -d xxx.tar.bz2 把它解压成.tar文件,然后再用 tar xvf xxx.tar 拆包.压缩解压 linux下怎么解后缀名是gzip的文件? ...
- Mac上zip,rar,tar文件命令解压和压缩
经常遇到在windowns上的压缩文件,在mac上解压出现问题,特意总结了下在Terminal里常用命令的方式解压和压缩文件 1.zip压缩文件 zip命令的参数很多,可以利用"zip -- ...
随机推荐
- java 时间格式化(2016.04.12 12:32:55)
输入的时间格式如:2016.04.12 12:32:55所示: 想要获取一定格式的日期,时间的方法 String startString = "2016.04.25 12:25:44&quo ...
- win7系统64位plsql的设置
1. Instant Client Downloads for Microsoft Windows (32-bit) 我下载的是: instantclient-basic-win32-11.2.0.1 ...
- Spring 入门 Ioc-Xml
通过一个小例子演视怎么通过 Spring 往程序中注入对象,而非手动 new 对象. 一.导入 Spring 所需要的包 spring-framework-2.5.6 版需要导入以下包: 1.---- ...
- View的工作原理(一)——Measure
一.认识ViewRoot和DecorView 当Activity对象被创建的时候,会将DecorView添加到Window中,同时创建ViewRootImpl对象(ViewRoot对应于ViewRoo ...
- Ecsotre 参考
2.dbschema dbschema 字段属性 ‘type’ => ‘int unsigned’, //字段类型 ‘extra’ => ‘auto_increment’,//定义自增 ‘ ...
- mysql 主键自增
比如创建表格,表格ID需要自增 将ID设置成主键,并配置auto_increment 例: create table test( id int(4) not null primary key ...
- ip聚合(百度之星资格赛1003)
IP聚合 点击这里 Problem Description 当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下, ...
- Nginx 变量漫谈(五)
前面在 (二) 中我们已经了解到变量值容器的生命期是与请求绑定的,但是我当时有意避开了“请求”的正式定义.大家应当一直默认这里的“请求”都是指客户端发起的 HTTP 请求.其实在 Nginx 世界里有 ...
- "NO 3D support is available from the host"
https://forums.opensuse.org/showthread.php/494522-No-3d-Support-or-graphics-accelleration http://ask ...
- JavaEE Tutorials (27) - Java EE的并发工具
27.1并发基础427 27.1.1线程和进程42827.2并发工具的主要组件42827.3并发和事务42927.4并发和安全43027.5jobs并发示例430 27.5.1运行jobs示例4302 ...