tp 内置压缩文件zip
一、解压缩zip文件
- $zip = new ZipArchive;//新建一个ZipArchive的对象
- /*
- 通过ZipArchive的对象处理zip文件
- $zip->open这个方法的参数表示处理的zip文件名。
- 如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
- */
- if ($zip->open(‘test.zip’) === TRUE)
- {
- $zip->extractTo(‘images’);//假设解压缩到在当前路径下images文件夹的子文件夹php
- $zip->close();//关闭处理的zip文件
二、将文件压缩成zip文件
- $zip = new ZipArchive;
- /*
- $zip->open这个方法第一个参数表示处理的zip文件名。
- 第二个参数表示处理模式,ZipArchive::OVERWRITE表示如果zip文件存在,就覆盖掉原来的zip文件。
- 如果参数使用ZIPARCHIVE::CREATE,系统就会往原来的zip文件里添加内容。
- 如果不是为了多次添加内容到zip文件,建议使用ZipArchive::OVERWRITE。
- 使用这两个参数,如果zip文件不存在,系统都会自动新建。
- 如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
- */
- if ($zip->open(‘test.zip’, ZipArchive::OVERWRITE) === TRUE)
- {
- $zip->addFile(‘image.txt’);//假设加入的文件名是image.txt,在当前路径下
- $zip->close();
三、文件追加内容添加到zip文件
- $zip = new ZipArchive;
- $res = $zip->open(‘test.zip’, ZipArchive::CREATE);
- if ($res === TRUE) {
- $zip->addFromString(‘test.txt’, ‘file content goes here’);
- $zip->close();
- echo ‘ok’;
- } else {
- echo ‘failed’;
- }
四、将文件夹打包成zip文件
- function addFileToZip($path, $zip) {
- $handler = opendir($path); //打开当前文件夹由$path指定。
- /*
- 循环的读取文件夹下的所有文件和文件夹
- 其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,
- 为了不陷于死循环,所以还要让$filename !== false。
- 一定要用!==,因为如果某个文件名如果叫’0’,或者某些被系统认为是代表false,用!=就会停止循环
- */
- while (($filename = readdir($handler)) !== false) {
- if ($filename != “.” && $filename != “..”) {//文件夹文件名字为’.’和‘..’,不要对他们进行操作
- if (is_dir($path . “/” . $filename)) {// 如果读取的某个对象是文件夹,则递归
- addFileToZip($path . “/” . $filename, $zip);
- } else { //将文件加入zip对象
- $zip->addFile($path . “/” . $filename);
- }
- }
- }
- @closedir($path);
- }
- $zip = new ZipArchive();
- if ($zip->open(‘images.zip’, ZipArchive::OVERWRITE) === TRUE) {
- addFileToZip(‘images/’, $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
- $zip->close(); //关闭处理的zip文件
- }
tp 内置压缩文件zip的更多相关文章
- Python之路Python内置函数、zip()、max()、min()
Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算, ...
- Eclipse spket插件 内置js文件
这一篇将怎么在spket内置js文件,而不用用户自己去添加. 1. 在开发的Eclipse的 运行配置将下面几个插件勾选上. 2. 在org.eclipse.ui.startup拓展里执 ...
- 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK
3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录: $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录: $ un ...
- python基础(内置函数+文件操作+lambda)
一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...
- Python之路(第八篇)Python内置函数、zip()、max()、min()
一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...
- python匿名函数 高阶函数 内置函数 文件操作
1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用 ...
- CentOS 打包压缩文件 zip 命令详解
我们再linux中常见的压缩文件有.tar.gz,.zip,.gz,在linux中,你要习惯没有.rar的日子. 一下为tar,zip命令详解 tar -zcvf /home/files.tar.gz ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- wpf中内置资源文件
wpf中包含三种文件类型 资源文件:编译到可执行或库 WPF 程序集中的数据文件. 内容文件:与可执行 WPF 程序集具有显式关联的独立数据文件. 源站点文件:与可执行 WPF 程序集没有关联的独立数 ...
随机推荐
- 【转】【WPF】WPF中的Button的MouseDown事件不触发问题
按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷! 不过WPF提供了必要的方法. 1)使用相应的Preview事件 ...
- 自动化测试工具Katalon简单使用
前一段时间接触了下Katalon,当时只是简单用了下,今天看到Katalon给发邮件,发现都忘记了,因此重新学习并记录下来 Katalon是在Selemium相同的内核上构建起来的一个自动化测试工具 ...
- 转:The Difference Between a LayoutTransform and a RenderTransform
来自:http://www.tuicool.com/articles/fIfm22 #770 – The Difference Between a LayoutTransform and a Rend ...
- 查询SQLSERVER执行过的SQL记录(测试通过)
仅支持SQL SERVER2008及以上版本 --创建时间 QS.creation_time, --执行文本 ST.text FROM sys.dm_exec_query_stats QS --关键字 ...
- java基础---->String中的split方法的原理
这里面主要介绍一下关于String类中的split方法的使用以及原理. split函数的说明 split函数java docs的说明: When there is a positive-width m ...
- D - Bridge
n people wish to cross a bridge at night. A group of at most two people may cross at any time, and e ...
- 【Swing程序设计/常用面板】
面板也是一个Swing容器,可以作为容器容纳其他组件,但是它必须要被添加到其他容器中.Swing常见的面板是JPanel面板和JScrollPanel面板. JPanel面板可以聚集一些组件来布局. ...
- vue3版本到vue2版本的桥接工具
vue2的命令可以正常使用.
- win 10安装Linux虚拟机教程
1.首先下载虚拟机 用的是VMware 官方下载地址:https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmwar ...
- EasyUI Tree节点拖动到指定容器
效果图:将tree节点拖动到指定的DIV中,结果显示节点的id和text 代码: <!DOCTYPE html> <html> <head> <meta ch ...