php zip扩展文件,php使用ZipArchive扩展实现文件的zip压缩与zip解压
ZipArchive 是PHP自带的zip扩展类,可以实现对文件或目录实现ZIP文件的压缩和解压,使用前首先要确保PHP ZipArchive扩展已经开启,以下代码亲测可用,但对中文命名的文件不兼容
一、将文件压缩成zip文件(可追加文件)
function addFileToZip($path = '',$zip = ''){
// 判断是不是目录,是的话递归进入
if(is_dir($path)) {
$handler = opendir($path); //打开当前文件夹由$path指定。
while (($filename = readdir($handler)) !== false) {
if ($filename != "." && $filename != "..") {
//文件夹文件名字为'.'和'..',不要对他们进行操作
if (is_dir($path . "/" . $filename)) {
// 如果读取的某个对象是文件夹,则递归
addFileToZip($path . "/" . $filename, $zip);
} else { //将文件加入zip对象
$zip->addFile($path . "/" . $filename);
}
}
}
}else{
$zip->addFile($path);
}
@closedir($path);
}
$zip = new ZipArchive();
$path = './';
$zipName = $_SERVER['DOCUMENT_ROOT']."/20180826.zip";
if($zip->open($zipName, ZipArchive::CREATE) === TRUE){
addFileToZip($path, $zip); // 调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close(); // 关闭处理的zip文件
}
echo 'zip压缩成功';
二、将zip文件解压——从zip压缩文件中提取文件
function unZip($filename = '', $path = ''){
//将文件名和路径转成windows系统默认的gb2312编码,否则将会读取不到
$filename = iconv("utf-8","gb2312",$filename);
$path = iconv("utf-8","gb2312",$path);
$zip = new ZipArchive;
if ($zip->open($filename) === TRUE) {//中文文件名要使用ANSI编码的文件格式
$zip->extractTo($path);//提取全部文件
$zip->close();
echo 'zip解压成功';
} else {
echo 'zip解压失败或没有这个zip文件';
}
}
$filename = $_SERVER['DOCUMENT_ROOT'].'/unzip.zip';
$path = $_SERVER['DOCUMENT_ROOT'].'/unzip';
unZip($filename,$path );
php zip扩展文件,php使用ZipArchive扩展实现文件的zip压缩与zip解压相关推荐
- ios文件连接 百度网盘服务器,iOS系统教程:iphone怎么解压百度网盘文件
有很多网友问iphone手机(IOS系统)下载或者接收到的 zip/7z/rar等格式压缩包如何打开? 咱们讲过用IZIP软件可以操作,但是很多小伙伴不会操作,也有觉得操作过程太繁琐的.今天小编就再给 ...
- zip分卷压缩的步骤_linux下分卷压缩,合并解压的3种方法
我们上传东西的时候,由于文件过大而不能上传,或者不给上传,最明显的就是发邮件了,附件最大5M,有的10M.如果超过了就郁闷了.这个时候,如果能把压缩的东西,分割开来就比较爽了,windows下面我想大 ...
- Linux之zip加密压缩与解密解压(一百二十一)
Linux之zip加密压缩与解密解压 1.zip加密压缩目录 # zip -rP Abc#123 tmp.zip test/2.unzip解密解压缩 # unzip -P Abc#123 tmp.zi ...
- linux系统下压缩文件,Linux系统下文件的压缩.打包与解压
处理 .zip 文件的 zip 和 unzip zip 和 unzip 程序位于 /usr/bin 目录中,它们和 MS - DOS 下的 pkzip.pkunzip 以及 MS-windows 的 ...
- Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压
Linux下tar解压tar.gz文件到当前目录 很多时候我们需要把文件解压到当前目录,命令如下: tar -zxvf vscode-server-linux-x64.tar.gz -C ./ 有时候 ...
- zip分卷压缩与合并解压
压缩: zip test.zip test.doc //先压缩不然会报错 分卷: zip -s 50m test.zip --out ziptest //每个子文件50M大小 合卷: cat zipt ...
- zip压缩和unzip解压
1.zip 压缩包名.zip 要压缩的文件 2.zip -r 压缩文件夹.zip 要压缩的文件 3.unzip 解压的文件.zip
- 文件的压缩打包及解压解包
压缩命令有:zip,gzip,bzip2 解压命令为:unzip gzip:是GNUzip的缩写,压缩包名为.gz的后缀 命令格式:zip 参数 压缩包名 源文件 zip -y 压缩包名 * -x ...
- linux大文件分包压缩和批量解压命令tar // tar 排除指定目录
压缩命令主要用到tar打包和split分割,命令如下: tar czf - aaa | split -b 1024m - bbb.tar.gz_ aaa可以是文件也可以是目录, 大小可以是b.k.m这 ...
- Linux使用7z压缩软件,解压到指定文件夹
7za x 压缩包 -r -o./ x 代表解压缩文件,并且是按原始目录树解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下) -r 表示递归解压缩所有的子 ...
最新文章
- WIN XP 命令汇总
- Node.js使用NodeMailer发送邮件
- 在悬崖下得到鸿蒙塔,第一次夜宿在悬崖峭壁上:垂直高度356米,峡谷深渊就在边上...
- 【光环板】更新硬件方案最近找到的一些光环板资料,硬件方案及原理图
- 在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以
- 图片加到json中,提交到服务器端处理异常问题。
- 黑马day16 jqueryamp;属性过滤选择器
- 黑客帝国中代码雨如何实现?用 Python 就可以!
- 【bzoj4011】【HNOI2015】落忆枫音【树形DP】
- Apache主机如何强制HTTP重定向到HTTPS WorldPress
- AR技术应用 の 如何做一个Pokemon GO丢出精灵球抓住皮卡丘吧!(2)
- 360ie7模式下的一个兼容
- python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)...
- c语言 获取文件修改时间,C语言中用于修改文件的存取时间的函数使用
- Wireshark-----抓包分析
- OpenSSL公钥 私钥 RSA
- 论文解读:《基于注意力的多标签神经网络用于12种广泛存在的RNA修饰的综合预测和解释》
- 友勤协同Oracle P6项目管理软件,助力江苏爱康能源工程交付高绩效项目。
- 小游戏 虚拟支付 米大师 90009
- 云计算专业运维工程师所需要的知识技术