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 程序集没有关联的独立数 ...
随机推荐
- 光纤网卡、HBA卡和RAID卡的区别(图)
原文地址:http://wenku.baidu.com/link?url=suuaTXbO_HXeNvuEfi8_RhRAfhQdoZ854lEK4K6LKprgQwwuxA-i3ItwPn7BBBK ...
- SQL 性能分析
SELECT s2.dbid, s1.sql_handle, (SELECT TOP SUBSTRING(s2.text,statement_start_offset / + , ( (CASE WH ...
- Android gradle 配置
gradle https://www.cnblogs.com/qianxudetianxia/p/4948499.html flavor https://blog.csdn.net/user11223 ...
- 使用docker安装tomcat服务
1. 拉取官方tomcat镜像 docker pull tomcat 2. 创建tomcat容器目录 [root@WSyHRQ171356 /]# mkdir /tomcat/test 3. 创建测试 ...
- open-falcon实现邮件报警
1.请安装好Go的环境,参考上一篇open-falcon的安装博文 2.安装 mail-provider https://github.com/open-falcon/mail-provider 安装 ...
- Linux awk sort
2018-05-31 15:56:38|25961|Cmd_Hero_GetFreeHeros_CS|2|481|0|14|222018-05-31 15:56:38|25961|Cmd_Role_G ...
- C# WinForm窗体隐藏右上角最小化、最大化、关闭按钮
C# WinForm窗体隐藏右上角最小化.最大化.关闭按钮 如何赢藏WinForm窗体的右上角按钮 设置设置ControlBox = false: 设置ControlBox = false:
- Kali Linux安装
Kali Linux 安装过程参考:https://blog.csdn.net/qq_40950957/article/details/80468030 安装完成后,apt-get install 安 ...
- cs231n(三) 误差反向传播
摘要 本节将对反向传播进行直观的理解.反向传播是利用链式法则递归计算表达式的梯度的方法.理解反向传播过程及其精妙之处,对于理解.实现.设计和调试神经网络非常关键.反向求导的核心问题是:给定函数 $f( ...
- web.py框架之i18n支持
问题: 在web.py的模板文件中, 如何得到i18n的支持? Solution: 项目目录结构: proj/ |- code.py |- i18n/ |- messages.po |- en_US/ ...