精华内容
下载资源
问答
  • PHP安装zip扩展,ZipArchive解压zip文件

    千次阅读 2020-04-16 10:31:26
    PHP安装zip扩展,ZipArchive解压zip文件 打印phpinfo();查看是否已经安装zip扩展及是否开启,未安装或开启按照如下方法操作 http://pecl.php.net/package/zip下载相应php版本的Windows版本zip包。 下载解压后...

    PHP安装zip扩展,ZipArchive解压zip文件

    打印phpinfo();查看是否已经安装zip扩展及是否开启,未安装或开启按照如下方法操作

    http://pecl.php.net/package/zip 下载相应php版本的Windows版本zip包。

    下载解压后,将php_zip.dll和php_zip.pdb这两个文件,复制到PHP安装目录下的ext文件夹下。

    然后修改php.ini配置文件,载入zip扩展 extension=php_zip.dll,保存后重启服务。

    ZipArchive解压zip文件

    开启后zip类报错,注意实例化时需在前面加上‘\’ ,即

    $zip = new \ZipArchive();
    dd($zip);

    打印结果如下即可应用该类进行操作

     

    展开全文
  • java使用ant实现Zip文件压缩、解压缩Zip文件。 单个文件压缩成Zip文件,多个文件压缩成Zip文件。 使用ant实现大文件压缩。

    java使用ant实现Zip文件压缩、解压缩Zip文件。

    单个文件压缩成Zip文件,多个文件压缩成Zip文件。

    可以压缩大文件。

    需要使用到ant.jar文件,放到lib目录下。

    ant.jar下载:http://download.csdn.net/detail/xinxin19881112/8906157


    Zip.java

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.util.zip.ZipOutputStream;
    import org.apache.tools.zip.ZipEntry;
    
    /**
     * ZIP操作工具类
     */
    public class Zip {
    	
    	/**
    	 * 压缩文件列表到某ZIP文件
    	 * @param zipFilename 要压缩到的ZIP文件
    	 * @param paths 文件列表,多参数
    	 * @throws Exception
    	 */
    	public static void compress(String zipFilename, String... paths)
    			throws Exception {
    		compress(new FileOutputStream(zipFilename), paths);
    	}
    
    	/**
    	 * 压缩文件列表到输出流
    	 * @param os 要压缩到的流
    	 * @param paths 文件列表,多参数
    	 * @throws Exception
    	 */
    	public static void compress(OutputStream os, String... paths)
    			throws Exception {
    		ZipOutputStream zos = new ZipOutputStream(os);
    		for (String path : paths) {
    			if (path.equals(""))
    				continue;
    			java.io.File file = new java.io.File(path);
    			if (file.exists()) {
    				if (file.isDirectory()) {
    					zipDirectory(zos, file.getPath(), file.getName()
    							+ File.separator);
    				} else {
    					zipFile(zos, file.getPath(), "");
    				}
    			}
    		}
    		zos.close();
    	}
    	
    	private static void zipDirectory(ZipOutputStream zos, String dirName,
    			String basePath) throws Exception {
    		File dir = new File(dirName);
    		if (dir.exists()) {
    			File files[] = dir.listFiles();
    			if (files.length > 0) {
    				for (File file : files) {
    					if (file.isDirectory()) {
    						zipDirectory(zos, file.getPath(), basePath
    								+ file.getName().substring(
    										file.getName().lastIndexOf(
    												File.separator) + 1)
    								+ File.separator);
    					} else
    						zipFile(zos, file.getPath(), basePath);
    				}
    			} else {
    				ZipEntry ze = new ZipEntry(basePath);
    				zos.putNextEntry(ze);
    			}
    		}
    	}
    
    	private static void zipFile(ZipOutputStream zos, String filename,
    			String basePath) throws Exception {
    		File file = new File(filename);
    		if (file.exists()) {
    			FileInputStream fis = new FileInputStream(filename);
    			ZipEntry ze = new ZipEntry(basePath + file.getName());
    			zos.putNextEntry(ze);
    			byte[] buffer = new byte[8192];
    			int count = 0;
    			while ((count = fis.read(buffer)) > 0) {
    				zos.write(buffer, 0, count);
    			}
    			fis.close();
    		}
    	}
    }



    TestCompress.java

    import java.io.FileOutputStream;
    
    import com.xx.commmon.Zip;
    
    /**
     * 压缩文件测试
     */
    public class TestCompress {
    
    	public static void main(String[] args) {
    		// 要压缩的文件列表
    		String path01 = "E:\\下载\\cn_windows_8_x86_dvd_915414.iso";
    		String path02 = "e:\\PPT模版_V0.1.potx";
    		try {
    			FileOutputStream os = new FileOutputStream("e:\\测试.zip"); // 输出的ZIP文件流
    			Zip.compress(os, path01);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    }



    TestEctractZip.java

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.ArrayList;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    
    /**
     * 解压缩测试
     */
    public class TestEctractZip {
    
    	@SuppressWarnings( { "unchecked", "static-access" })
    	public static void main(String[] args) {
    		TestEctractZip z = new TestEctractZip();
    		ArrayList<String> a = z.Ectract("C:\\a.zip", "C:\\tmp\\"); // 返回解压缩出来的文件列表
    		for(String s : a){
    			System.out.println(s);
    		}
    	}
    
    	/**
    	 * 解压缩
    	 * @param sZipPathFile 要解压的文件
    	 * @param sDestPath 解压到某文件夹
    	 * @return
    	 */
    	@SuppressWarnings("unchecked")
    	public static ArrayList Ectract(String sZipPathFile, String sDestPath) {
    		ArrayList<String> allFileName = new ArrayList<String>();
    		try {
    			// 先指定压缩档的位置和档名,建立FileInputStream对象
    			FileInputStream fins = new FileInputStream(sZipPathFile);
    			// 将fins传入ZipInputStream中
    			ZipInputStream zins = new ZipInputStream(fins);
    			ZipEntry ze = null;
    			byte[] ch = new byte[256];
    			while ((ze = zins.getNextEntry()) != null) {
    				File zfile = new File(sDestPath + ze.getName());
    				//File zfile = new File(sDestPath +File.separator+ ze.getName());
    				File fpath = new File(zfile.getParentFile().getPath());
    				if (ze.isDirectory()) {
    					if (!zfile.exists())
    						zfile.mkdirs();
    					zins.closeEntry();
    				} else {
    					if (!fpath.exists())
    						fpath.mkdirs();
    					FileOutputStream fouts = new FileOutputStream(zfile);
    					int i;
    					allFileName.add(zfile.getAbsolutePath());
    					while ((i = zins.read(ch)) != -1)
    						fouts.write(ch, 0, i);
    					zins.closeEntry();
    					fouts.close();
    				}
    			}
    			fins.close();
    			zins.close();
    		} catch (Exception e) {
    			System.err.println("Extract error:" + e.getMessage());
    		}
    		return allFileName;
    	}
    }


    新新:http://blog.csdn.net/xinxin19881112/article/details/46913931

    展开全文
  • zip文件格式

    千次阅读 2017-10-27 17:14:39
    zip文件格式。整体结构简单归纳总结下,zip文件格式由文件数据区、中央目录结构,中央目录结束标志组成。其中中央目录结束节又有一个字段保存了中央目录结构的偏移。

    zip文件格式

    说明

    本人根据自己的学习过程,适当理解,并作下笔记,以便查阅。这里暂不包含zip64部分。

    整体结构

    简单归纳总结下,zip文件格式由文件数据区、中央目录结构,中央目录结束标志组成。其中中央目录结束节又有一个字段保存了中央目录结构的偏移。整体结构如下图

    zip文件结构

    分区描述

    中央目录结束标志

    中央目录结束标志一般位于文件的末尾。由于它也有字段指向了中央目录开始处的偏移, 所以把它放在最前面描述。它被用来标识中央目录结束。可以通过读取它来找到中央目录并解析整个文件结构。该结构具体如下:

    struct EndLocator
    {
        ui32 signature;   //目录结束标记,(固定值0x06054b50)
        ui16 elDiskNumber;  //当前磁盘编号
        ui16 elStartDiskNumber;  //中央目录开始位置的磁盘编号
        ui16 elEntriesOnDisk;  //该磁盘上所记录的核心目录数量
        ui16 elEntriesInDirectory;  //中央目录结构总数
        ui32 elDirectorySize;  //中央目录的大小
        ui32 elDirectoryOffset;  //中央目录开始位置相对于文件头的偏移
        ui16 elCommentLen;  // 注释长度
        char *elComment;  // 注释内容
    };

    中央目录结构

    中央目录结构位于文件数据区后,它用来保存所有文件的路径信息,和对应文件数据结构区在文件中的偏移。该结构具体如下:

    struct DirEntry
    {
        ui32 signature;  // 中央目录文件header标识(0x02014b50)
        ui16 deVersionMadeBy;  // 压缩所用的pkware版本
        ui16 deVersionToExtract;  // 解压所需pkware的最低版本
        ui16 deFlags;  // 通用位标记
        ui16 deCompression;  // 压缩方法
        ui16 deFileTime;  // 文件最后修改时间
        ui16 deFileDate;  // 文件最后修改日期
        ui32 deCrc;  // CRC-32校验码
        ui32 deCompressedSize;  // 压缩后的大小
        ui32 deUncompressedSize;  // 未压缩的大小
        ui16 deFileNameLength;  // 文件名长度
        ui16 deExtraFieldLength;  // 扩展域长度
        ui16 deFileCommentLength; // 文件注释长度
        ui16 deDiskNumberStart;  // 文件开始位置的磁盘编号
        ui16 deInternalAttributes;  // 内部文件属性
        ui32 deExternalAttributes;  // 外部文件属性
        ui32 deHeaderOffset;  // 本地文件头的相对位移
        char *deFileName;  // 目录文件名
        char *deExtraField;  // 扩展域
        char *deFileComment; // 文件注释内容
    };

    中央目录结构区是由中央目录结构的数组组成,这个结构只有目录文件名,扩展域,文件注释内容长度是不定的,并且可以在这个结构中获取它的长度,那么通过此就可以遍历出所有的文件。设当前中央目录结构偏移为current_offset,下个中央目录结构偏移为next_offset,则计算公式为:

    next_offset = current_offset + sizeof(DirEntry) - 3*sizeof(char*) + deFileNameLength + deExtraFieldLength + deFileCommentLength;

    其中CRC32校验码为对应的文件压缩数据的CRC32的校验码,如对应文件的数据压缩数据的CRC32与这里的值不同,则数据损坏。
    通过中央目录结构的deHeaderOffset字段可以直接获取到对应文件的文件数据区结构的文件偏移,就可以直接获取到对应文件的压缩数据了。

    文件数据区

    文件数据区是保存所有压缩文件数据的区,它位于文件头,并由压缩数据结构的数组组成。其结构如下:

    struct Record
    {
        ui32 signature;  // 文件头标识,值固定(0x04034b50)
        ui16 frVersion;  // 解压文件所需 pkware最低版本
        ui16 frFlags;  // 通用比特标志位(置比特0位=加密)
        ui16 frCompression;  // 压缩方式
        ui16 frFileTime;  // 文件最后修改时间
        ui16 frFileDate;  //文件最后修改日期
        ui32 frCrc;  // CRC-32校验码
        ui32 frCompressedSize;  //  压缩后的大小
        ui32 frUncompressedSize;  // 未压缩的大小
        ui16 frFileNameLength;  //  文件名长度
        ui16 frExtraFieldLength;  // 扩展区长度
        char* frFileName;  // 文件名
        char* frExtraField;  // 扩展区
        char* frData; // 压缩数据
    };

    这里的压缩方式frCompression有如下取值:

              0 - The file is stored (no compression)
              1 - The file is Shrunk
              2 - The file is Reduced with compression factor 1
              3 - The file is Reduced with compression factor 2
              4 - The file is Reduced with compression factor 3
              5 - The file is Reduced with compression factor 4
              6 - The file is Imploded
              7 - Reserved for Tokenizing compression algorithm
              8 - The file is Deflated
              9 - Enhanced Deflating using Deflate64(tm)
             10 - PKWARE Data Compression Library Imploding
             11 - Reserved by PKWARE
             12 - File is compressed using BZIP2 algorithm

    通过中央目录结构就可以找到文件数据结构,通过文件数据结构获取到压缩数据结构,并通过此结构可以获取到压缩的数据和使用的算法,并可以根据此解压出对应的数据。

    crc32

    crc32即循环冗余校验,一般用于校验数据是否正确。其实现方式参考http://blog.csdn.net/lickylin/article/details/7857586

    总结

    zip文件结构比较清晰,可以从位于文件尾的中央文件目录结束区入手,获取到中央目录结构的偏移地址,再遍历中央目录获取到所有的文件,并通过文件数据结构获取到文件数据,数据是否损坏可通过crc32进行校验。

    展开全文
  • 今天发现放在服务器上的apk安装文件,把下载地址发给别人的时候,他们有用IE浏览器下载的,结果文件后缀apk变成.zip格式了。于是从网上找到答案说是,需要APK文件的MIME类型。 我的web服务器用的Tomcat,具体实现...

    今天发现放在服务器上的apk安装文件,把下载地址发给别人的时候,他们有用IE浏览器下载的,结果文件后缀apk变成.zip格式了。于是从网上找到答案说是,需要APK文件的MIME类型。

    我的web服务器用的Tomcat,具体实现方式是从项目的web.xml里面配置添加以下代码:


    <mime-mapping>  
    <extension>apk</extension>  
    <mime-type>application/vnd.android.package-archive</mime-type>  
    </mime-mapping>  


    然后重启tomcat,再测试下,变成.apk文件了。成功!


    Apache服务器的配置文件路径是conf/mime.types
    在该文件里面添加一行数据,如下:

    application/vnd.android.package-archive  apk 

    展开全文
  • centOS7上用yum安装7zip并解压文件

    千次阅读 2019-12-21 23:31:09
    1 安装p7zip 首先安装epel依赖 sudo yum install epel-release 之后安装p7zip包 sudo yum install p7zip 2 解压7z文件 ...3 或者在CentOS桌面解压7zip文件 参考链接:https://elearning.ws...
  • 学习Java压缩zip文件:压缩单个文件和多个文件,不包含文件夹;怎样用Java将文件追加到zip文件中。测试类:/** * @FileName:ZipTest.java * @Description: TODO * @Copyright: All rights Reserved, Designed By ...
  • Linux-CentOS6.9安装ZIP unzip命令解压文件 yun install zip unzip
  • Centos7解压Zip文件

    千次阅读 2018-10-26 17:08:08
    一、安装支持ZIP的解压工具 unzip 和 压缩工具 zip : yum install -y unzip zip 二、解压zip文件 unzip 文件名.zip 三、压缩一个zip文件 zip 文件名.zip 文件夹名称或文件名称...
  • 1.从github下载的zip文件,文件名字一般是aa-master.zip。 2.解压到b文件夹 3.cd 到b文件夹--aa-master 4.运行npm install 前提条件是电脑安装了npm
  • 首先给大家演示下 zip 文件的解压方法。 提前读取,避免把压缩包自己加上去。 然后给大家看下 zip 文件...Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构。
  • php安装zip

    千次阅读 2018-11-12 12:56:34
    安装zip wget http://pecl.php.net/get/zip tar -zxvf zip cd zip-1.x.x phpize ./configure make sudo make install 修改php.ini文件 extension = /usr/local/lib/php/extensions/zip.so,然后同样在php.ini文件...
  • MD5文件如何解密zip文件

    千次阅读 2019-08-15 09:39:17
    双击zip文件解密时提示需要输入密码,用文本编辑器打开MD5文件后,把里面的内容拷贝到解压的提示框中,点击确认即可
  • ZIP文件格式分析

    万次阅读 多人点赞 2016-06-12 14:55:41
    官方文档https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.2.0.txt格式说明在官方文档中给出的ZIP格式如下: Overall .ZIP file format: [local file header 1] [file data 1] [data descriptor 1] . . ...
  • zip文件的由来以及zip文件格式规范

    千次阅读 2008-10-29 13:31:00
    ZIP文件格式是一种流行的数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz)。他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。zip文档...
  • pip 直接安装tar.gz zip文件

    万次阅读 2016-09-12 16:36:24
    pip 直接安装tar.gz zip文件包 (windows linux mac 可用)  在不能连接外网的机器上安装Python的各种包,解压安装要人工输入多条命令: tar -zxvf Flask-WTF-0.10.0.tar.gz cd Flask-WTF-0.10.0 ...
  • java解压zip文件

    万次阅读 2020-09-03 10:57:01
    import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import java.io.*; import java.util.Enumeration;... * 解压zip文件 * @author xiyue * @param sourceFile,待解压的zi
  • 本地使用MySql需要客户端和服务端同时具备,今天去官网下载了一个mysql-5.6.23-winx64.zip的服务端安装,中间遇见了很多问题,这里给大家分享一下安装的正确方法。...这里可以发现解压后的文件其实和安装后的文件并没
  • linux解压zip文件

    万次阅读 2019-07-11 21:06:06
    一,linux解压zip文件,命令:unzip 如果没有该命令,可先安装,命令为:yum -y install unzip
  • java上传zip文件

    千次阅读 2020-03-10 16:44:32
    文件上传大家都是知道怎么写的,前几天用到了上传zip文件的方法,在这里记录一下,希望可以帮助到大家! /**** * 上传解析zip * @param file */ @RequestMapping("uploadZip") public void uploadZip...
  • Java直接读取zip文件有两种方法: 通过zip文件的流直接读取文件 public static void readZipFile(ZipInputStream zipInputStream) throws IOException { while((zipInputStream.getNextEntry())!=null){ ...
  • Python压缩解压zip文件

    万次阅读 多人点赞 2018-06-28 11:37:09
    一、python压缩指定文件夹def zip_file(src_dir): zip_name = src_dir +'.zip' z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED) for dirpath, dirnames, filenames in os.walk(src_dir): fpath ...
  • Python操作Zip文件

    千次阅读 2018-12-25 11:31:26
    Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt。 import zipfile # 默认模式r,读 azip = zipfile.ZipFile('bb.zip') # ['bb/', ...
  • Linux下zip文件解压乱码

    万次阅读 2020-09-14 14:53:45
    Linux下zip文件解压乱码 #这是zip格式的缺陷,zip文件格式中没有字段标志出文件名的编码格式。Windows下生成的zip文件中的编码是GBK/GB2312等,而linux下的默认编码格式为UTF-8,所以才会出现乱码。 #解决办法一...
  • linux 安装zip

    千次阅读 2021-01-22 16:45:58
    #获取安装列表 yum安装列表中搜索zip/unzip是否存在 yum list | grep zip/unzip #执行安装支持zip命令 根据提示输入y允许安装 yum install zip #执行安装支持unzip命令 根据提示输入y允许安装 yum instal
  • nodejs zip 解压zip文件

    千次阅读 2017-12-08 11:24:02
    unzip 解压zip localzip bufferr
  • Java获取zip文件

    千次阅读 2019-11-23 11:04:14
    生成zip文件保存到磁盘,返回时读取文件内容 需要考虑文件的生成策略,防止并发情况下文件冲突;文件的删除策略,无用文件及时删除,避免磁盘空间的浪费。 保存到内存中,返回时从内存中读取二进制内容 以流的...
  • java实现对rar文件和zip文件的解压缩

    万次阅读 2017-07-12 16:47:53
    java实现对rar文件和zip文件的解压缩 一.对zip文件的解压缩 1.1 使用ZIP4J实现 zip4j官方说明: Create, Add, Extract, Update, Remove files from a Zip file 针对ZIP压缩文件创建、添加、抽出、更新和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 723,176
精华内容 289,270
关键字:

怎么安装zip文件