zip格式

文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

馋奶兔 提交于 2019-12-02 22:17:28
总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文: PHP如何实现下载功能超详细流程分析 计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可以看出,如果需要先打开文件的话,filesize可能就会是这样的形式了filesize($filehandle) 向客户端回送数据的是,记得要设置一个 buffer ,用来指定每次向客户端输出多少数据,如:$buffer=1023。如果不指定的话,就会将整个文件全部写入内存当中,再一次性的讲数据传送给客户端 通过feof()函数,可以判断要读取的文件是否读完,如果还没读完,继续读取文件($file_data=fread()),并将数据回送给客户端(echo $file_data) 每次下载完成后,在客户端都会刷新下,说明了,其实每次都将数据写入到一个临时文件中,等全部下载完成后,再将所有的数据重新整合在一起 这里我使用的是绝对路径,绝对路径有个好处,就是适应性比较强,而且相对于相对路径,效率更高(免去了查找文件的过程) 技术要点分析: 将文件打包成zip格式 下载文件的功能 要点解析: 这里我采用的是php自带的 ZipArchive 类     a) 我们只需要new一个 ZipArchive 对象,然后使用open方法创建一个zip文件,接着使用addFile方法

python中zipfile模块实例化解析

匿名 (未验证) 提交于 2019-12-02 22:11:45
文章内容由-- “脚本之家“ --提供,在此感谢脚本之家的贡献,该网站网址为: https://www.jb51.net/ 简介:   zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对zipfile的使用方法做一些记录。即方便自己也方便别人。   Python zipfile模块用来做zip格式编码的压缩和解压缩的,要进行相关操作,首先需要实例化一个 ZipFile 对象。ZipFile 接受一个字符串格式压缩包名称作为它的必选参数,第二个参数为可选参数,表示打开模式,类似于文件操作,有r/w/a三种模式,分别代表读、写、添加,默认为r,即读模式。   zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的。 一、下面我们就来介绍这两个类的基本操作: 比如要读取一个Python zipfile 模块,这里假设filename是一个文件的路径: import zipfile z =zipfile.ZipFile(filename, 'r') # 这里的第二个参数用r表示是读取zip文件

Linux中制作/释放.zip包文件

匿名 (未验证) 提交于 2019-12-02 21:56:30
制作/释放.zip包文件 1)制作.zip包 2)解压.zip包 zip压缩工具优点是可跨平台。 在使用时,它的命令格式需注意: zip 压缩后文件名 源文件绝对路径 压缩式常用选项为“-r”,压缩目录时需加上,代表递归压缩。 解压时命令为unzip,常用选项为“-d”可以指定解压位置。 实现此案例需要按照如下步骤进行。 步骤一:制作.zip包 创建一个压缩包lnxtest.zip,/root目录下以install开头的文件,命令操作如下所示: [root@localhost ~]# cd /opt/ [root@localhost opt]# rm -rf * [root@localhost opt]# zip lnxtest.zip /root/install* adding: root/install.log (deflated 75%) adding: root/install.log.syslog (deflated 86%) [root@localhost opt]# ls lnxtest.zip [root@localhost opt]# 压缩/boot与/etc目录,压缩名:bebak.zip,命令操作如下所示: [root@localhost opt]# zip -r bebak.zip /boot/ /etc/ [root@localhost opt]# ls

java玩转zip压缩包

匿名 (未验证) 提交于 2019-12-02 21:52:03
首先将相关jar包引入pom.xml中 1 <!-- 解压zip --> 2 <dependency> 3 <groupId>org.apache.ant</groupId> 4 <artifactId>ant</artifactId> 5 <version>1.9.4</version> 6 </dependency> 废话不多说,直接上代码 import org.apache.tools.zip.ZipFile; import java.io.*; import java.util.Enumeration; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipUtils { private static final int BUFFER_SIZE = 2 * 1024; /** * 压缩成ZIP 方法1 * 24 * * @param srcDir 压缩文件夹路径 * @param out 压缩文件输出流 * @param KeepDirStructure 是否保留原来的目录结构,true:保留目录结构; * false:所有文件跑到压缩包根目录下(注意:不保留目录结构可能会出现同名文件,会压缩失败) *

Win7下,MySQL 5.6.7 Zip格式安装

做~自己de王妃 提交于 2019-12-02 06:29:47
以前都是下载msi格式的MySQL进行安装,现在发现找不到msi格式了,要么是Zip版,要么是用installer。 试了下用Installer,感觉非常不好用,以下是Zip版的用法。 1、解压,我的目录是D:\software\db\mysql-5.6.27-winx64 2、修改配置文件 my-default.ini basedir = D:\software\db\mysql-5.6.27-winx64 datadir = D:\software\db\mysql-5.6.27-winx64\data 3、安装服务,以管理员身份打开cmd, 进入bin目录 即 cd D:\software\db\mysql-5.6.27-winx64\bin 执行命令:mysqld -install 4、启动服务 在cmd中继续输入net start mysql 我在这里遇到了1067错误,不过重启电脑,准备删除重装时,系统提示说服务已启动,才发现在服务里已经有MySQL服务了,并且点重启也正常,建表也正常,算是安装成功了吧。 删除mysql服务的命令是:mysqld -remove 5、如果需要使用命令行的话,需要在配置环境变量,在Path后面加上MySQL的安装目录。 我都是用MySQL Workbench,就不需要配置这个。 来源: oschina 链接: https://my

Android解压缩zip文件

蓝咒 提交于 2019-12-01 18:56:40
期望:使项目apk包中的大文件批量数据可以单独作为一个apk来管理,所以需要将Android assets文件夹下的zip打包文件解压到SDCard上。 解压缩的操作由于比较耗时,所以新开一个线程执行以下函数 /**将assets对应文件解压到对应的sdcard目录中*/ public void unPress2Sdcard(String fileName){ try { /**目标路径*/ String destDir = rootPath + File.separator + fileName; /**将压缩文件拷贝到内存卡中*/ mAssetCopyer.copyBigDataToSD(destDir, fileName); /**解压文件到目标路径*/ unzip(destDir, offlinePath); /**删除在内存卡上临时存在的压缩文件*/ FileUtils.deleteFile(destDir); } catch (Exception e) { e.printStackTrace(); } } 对应的先将assets下的zip文件拷贝到SDCard中,这个是直接在网上找的方法拿来用 public void copyBigDataToSD(String strOutFileName,String file) throws IOException{

chrome离线安装postman和Interceptor

亡梦爱人 提交于 2019-11-30 23:12:11
下载地址: 链接: https://pan.baidu.com/s/1eofcGmsfrAAnK8oZr-WW5Q 密码: 85ia 1、下载好postman(为zip格式,解压) 2、下载好Interceptor (为zip格式,解压) 3、扩展程序添加进去 4、修改postman安装包中js/requester.js 和runner.js ,需要将其中的 aicmkgpgakddgnaphhhpliifpcfhicfo 字符串替换成扩展程序界面的Interceptor的id 5、我的应用里面启动postman,浏览器也会多一个Interceptor图标,同时开启 来源: https://www.cnblogs.com/mobies/p/11644172.html

Python3实现zip分卷压缩

只愿长相守 提交于 2019-11-30 19:55:20
Python实现zip分卷压缩 使用 zipfile 库 查看 官方中文文档 利用 Python 压缩 ZIP 文件,我们第一反应是使用 zipfile 库,然而,它的官方文档中却明确标注“此模块目前不能处理分卷 ZIP 文件”,(⊙﹏⊙) 折腾经过 翻遍了Google、CSDN、Stackoverflow等平台均未找到解决方案,最靠谱的是调用外部解压程序实现分卷压缩的功能。但是,如何不依靠外部程序实现这个功能呢?? 于是乎,只能自己慢慢造轮子。看着 ZIP 格式开发商留下的文档 ZIP File Format Specification ,头疼啊(;´д`)。于是我拿着 WinHex 开始16进制一个一个文件对比 WinRar 创建的分卷压缩和单个 zip 文件的差异。最后还真的整出来了( ̄▽ ̄)" 如果想把单个大文件 test.zip -> 分卷文件 test.z01 、 test.z02 、 test.zip 首先,在创建的第一个分卷文件 test.z01 的前面加上 \x50\x4b\x07\x08 这个是分卷压缩的文件头(header),占4个字节。其实单个压缩文件本身 header 就有这个了,而分卷压缩的需要两个emmm。之后便是从单个大压缩文件文件 test.zip 中读取 "一个分卷大小 -4 个字节"的数据,写入 test.z01 中

文件压缩和打包

不羁的心 提交于 2019-11-29 09:30:26
一、打包工具介绍 使用压缩文件,不仅可以节省磁盘空间,而且还可以节省时间和网络带宽 Windows常见压缩文件:rar zip 7z linux常见压缩文件:zip .gz .bz2 .xz, .tar,.xz, tar.gz tar.bz2 二、gzip压缩工具 gzip格式:gzip(-d -c)# filename ,其中#为1-9数字,分别对应1-9个级别 gzip压缩级别1-9,默认为6 -d 该参数在解压时是使用 -c 把压缩后的文件输出到指定目录下,不去更改原来的文件 gzip不能压缩目录 创建一个目录名为d6z,使用find命令查找以conf结尾的文件:find /etc/ -type f -name " conf" ,然后将文件输出到一个文件1.txt里面去 find /etc/ -type f -name " conf" -exec cat {} >>1.txt \; 反复追加,并查看文件大小,然后压缩文件 解压完成过后想要查看解压缩文件的内容,不能使用cat,可以使用zcat,先进行解压缩再查看 同时压缩文件的时候还可以指定目录:并且原文件不会消失 解压文件,并指定路径: gunzip -c /tmp/1.txt.gz > /tmp/d6z/2.txt 三、bzip2压缩工具 bzip2命令格式为bzip2 (-d) filename -d 解压

win 7下安装mysql zip格式

泪湿孤枕 提交于 2019-11-29 08:01:58
mysql 下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads 下载的mysql格式为zip: 下载完成放在除C盘以外的盘。 一、安装mysql-5.7.17版本的安装方法: 例如,我放在D盘:如下图: 此时加压后的文件中没有 data目录 和有一个ini的默认文件 1、 把my-default.ini文件备份后,进行名称修改为:my.ini 2、修改my.ini文件 在文件最后添加上如下语句: [client] default-character-set = utf8 3、配置环境变量 在系统变量部分新建一个变量名:MYSQL_HOME, 变量值:为mysql的路径 4、生成data目录:cmd命令行下进入mysql安装目录的bin目录下,执行mysqld --initialize 进入如下目录:D:\mysql-5.7.17-winx64\bin 运行命令:mysqld --initialize ( 此时会生成data目录 ) 5、运行mysqld -install (安装) 6、运行net start mysql (启动mysql服务) 7.设置root账户密码: 在my.ini文件(MySQL的配置文件)的[mysqld]下加一行skip-grant-tables 然后在任务管理器中重启MySQL服务。