- 浏览: 1876898 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangyudong:
Wisdom RESTClient工具地址更新了哦https: ...
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器) -
wangyudong:
很多REST Client是不支持自动化测试RESTful A ...
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器) -
higkoo:
一个非常棒的系统,要是能支持LDAP等开源认证就完美了。
Cynthia 是个问题管理/BUG管理/任务管理/项目管理系统。 -
寻光之旅:
标签库使用有啥好处呢?
thinkphp 使用标签库的步骤 -
lgdjy123:
Android:TextView属性大全
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件
01
02
03
04
05
06
07
08
09
10
11
|
$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文件
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
$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文件
1
2
3
4
5
6
7
8
9
|
$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文件
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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文件
} |
ZipArchive方法如下:
- ZipArchive::addEmptyDir — Add a new directory
- ZipArchive::addFile — Adds a file to a ZIP archive from the given path
- ZipArchive::addFromString — Add a file to a ZIP archive using its contents
- ZipArchive::close — Close the active archive (opened or newly created)
- ZipArchive::deleteIndex — delete an entry in the archive using its index
- ZipArchive::deleteName — delete an entry in the archive using its name
- ZipArchive::extractTo — Extract the archive contents
- ZipArchive::getArchiveComment — Returns the Zip archive comment
- ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
- ZipArchive::getCommentName — Returns the comment of an entry using the entry name
- ZipArchive::getFromIndex — Returns the entry contents using its index
- ZipArchive::getFromName — Returns the entry contents using its name
- ZipArchive::getNameIndex — Returns the name of an entry using its index
- ZipArchive::getStatusString — Returns the status error message, system and/or zip messages
- ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).
- ZipArchive::locateName — Returns the index of the entry in the archive
- ZipArchive::open — Open a ZIP file archive
- ZipArchive::renameIndex — Renames an entry defined by its index
- ZipArchive::renameName — Renames an entry defined by its name
- ZipArchive::setArchiveComment — Set the comment of a ZIP archive
- ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
- ZipArchive::setCommentName — Set the comment of an entry defined by its name
- ZipArchive::statIndex — Get the details of an entry defined by its index.
- ZipArchive::statName — Get the details of an entry defined by its name.
- ZipArchive::unchangeAll — Undo all changes done in the archive
- ZipArchive::unchangeArchive — Revert all global changes done in the archive.
- ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index
- ZipArchive::unchangeName — Revert all changes done to an entry with the given name.
发表评论
-
Lumen写事件
2018-02-10 10:46 7971.在事件里面定义事件 <?php /** * ... -
PHP设计模式之状态机模式-实现业务流控制
2018-01-28 11:16 1805应用场景:在我们日常开发中经常会遇到各种状态的切换,例如电 ... -
装wampserver时显示计算机丢失MSVCR110.dll
2017-03-07 10:15 1205http://www.microsoft.com/zh-CN ... -
phpdocument的使用
2016-10-25 16:24 623官网: https://www.phpdoc.org/ ... -
微信调试方法
2016-05-24 09:25 7881. 在本地搭建类似LAMP的环境(或者WAMP)都行,目的 ... -
创建自己的composer包
2015-12-10 17:01 990创建一个composer/packagist包 在g ... -
微信nickname乱码及mysql编码格式设置(utf8mb4)
2015-12-08 12:24 1727将数据库的编码设置为utf8mb4_general_ci ... -
docker php 配置
2015-10-28 18:10 1117FROM php:5.6-fpm MAINTAINER S ... -
四种数据存储结构---顺序存储 链接存储 索引存储 散列存储
2015-08-15 21:54 1527存储结构分四类:顺序存储、链接存储、索引存储 和 散列存储。 ... -
分享PHP代码检查经验
2015-08-09 23:03 1609问: 团队十多人开发, 如何保证代码规范统一? http ... -
php过滤只匹配中英文字符串
2015-08-04 15:26 1906<?php $str = "php $ ... -
移除emoji内容
2015-08-04 14:52 1244public static function removeE ... -
php 敏感词过滤高级版
2015-08-04 10:20 1492前面介绍过一个过滤了 ... -
php过滤广告内容(兼职,QQ号,淘宝兼职,网址)
2015-08-04 10:17 1180如果你网站有评论那么你肯定会发现你网站经常会被一人注入广告了 ... -
写第一个PHP扩展, 实现计算数组的个数
2015-07-20 19:09 1354需求: 写第一个PHP扩展, 里面包含一个函数叫 maxw ... -
PHP常用设计模式单例, 工厂, 观察者, 责任链, 装饰, 策略,适配,桥接模式
2015-07-15 11:08 1657// 多态, 在JAVA中是这样用的, 其实在PHP当中可 ... -
php命令行界面
2015-07-16 17:03 976常用选项 php -v php -i ... -
使用phpdocument
2015-07-14 17:05 885pear install phpdoc phpDocumen ... -
将session存储到数据库中
2015-07-14 15:33 826CREATE TABLE sessions ( id ... -
正则表达式向前查找向后查找,环绕或零宽断言
2015-07-14 12:40 2414向前查找和向后查找 1. 向前查找:根据要匹配的字符序列后 ...
相关推荐
在PHP编程中,`ZipArchive` 是一个非常实用的类,用于处理ZIP格式的压缩文件。这个类提供了创建、读取、修改以及提取ZIP文件的能力,同时也支持其他压缩格式如TAR和GZIP。在本文中,我们将深入探讨`ZipArchive` 类的...
总结来说,这个PHP在线压缩解压ZIP文件的工具是一个基于Web的实用程序,它利用PHP的ZipArchive类处理ZIP文件的压缩和解压。通过密码保护机制,它可以提供一定程度的安全性。实现这一功能的核心代码可能分布在unzip....
2. **解压文件**:解压ZIP文件是ZipArchive的基本功能之一。你可以通过遍历ZIP文件的所有条目,然后调用`ExtractToDirectory()`方法将每个条目解压缩到指定的目录。这种方法允许一次性解压整个ZIP,或者根据需要解压...
本篇文章将深入探讨如何使用PHP中的ZipArchive类来解压文件,这对于Web开发人员来说是一项重要的技能。 首先,ZipArchive是PHP提供的一种内置库,它允许我们创建、修改和读取ZIP格式的压缩文件。ZIP是一种广泛使用...
3. **zip**:zip是一种常用的文件压缩格式,PHP中的`ZipArchive`类提供了对zip文件的处理,包括添加、删除、列出和提取文件。例如,你可以创建一个新的`ZipArchive`对象,然后调用`open()`方法打开或创建一个zip文件...
### PHP压缩ZIP文件知识点 #### 一、PHP与ZIP文件操作简介 在PHP开发中,经常需要对文件进行压缩操作,...综上所述,利用PHP内置的`ZipArchive`类可以方便地实现文件的压缩功能,适用于多种场景下的文件管理需求。
"PHP生成压缩文,不带要压缩文件的根目录"这个话题,主要涉及的是如何使用PHP的ZipArchive类来创建一个ZIP文件,但不包含源文件的根目录路径。下面将详细介绍这一知识点及其相关技术。 首先,我们需要了解PHP的Zip...
ZipArchive类提供了一系列的方法来实现文件的压缩与解压缩功能。以下是根据文档内容总结的关键知识点: 一、解压缩ZIP文件 要解压缩一个ZIP文件,首先需要创建一个ZipArchive对象。使用ZipArchive::open()方法打开...
总结,PHP在线解压压缩ZIP工具利用了`ZipArchive`类提供的功能,实现了便捷的文件打包和解包服务。在开发这样的工具时,需要注意安全、性能、用户体验等多个方面,以确保功能的稳定性和实用性。
在线解压缩则是读取ZIP文件并将其内容解压到指定的目录。同样,我们使用ZipArchive类,但这次调用的是extractTo方法。此方法接受两个参数:一个是解压的目标目录,另一个是ZIP文件内的文件或目录名。如果希望解压...
同样,我们利用ZipArchive类,可以实现文件或目录的压缩操作: 1. 初始化ZipArchive对象:`$zip = new ZipArchive();` 2. 创建一个新的ZIP文件:`$res = $zip->open('new_zip_file.zip', ZIPARCHIVE::CREATE);` 3. ...
通过理解ZIP格式的基本原理和ZIPARCHIVE库的API,开发者可以有效地实现数据的压缩、解压缩和管理,从而提高程序的效率和用户体验。在实际开发过程中,结合具体需求灵活运用这些知识,将是提升项目质量的关键。
1. **ZipArchive类**:`ZipArchive`是PHP的核心组件,提供了一系列方法来处理ZIP文件,如`open()`用于打开ZIP文件,`close()`用于关闭文件,`addFile()`用于添加文件,`extractTo()`用于解压缩,以及`deleteIndex()`...
### 使用ZipArchive解压ZIP文件 首先,我们需要实例化一个`ZipArchive`对象,然后通过其提供的方法来操作ZIP文件。以下是解压ZIP文件的基本步骤: 1. 打开ZIP文件: ```php $zip = new ZipArchive(); if ($zip->...
在线ZIP解压缩网页工具是基于PHP开发的一种便捷服务,它允许用户通过网页浏览器上传ZIP文件并进行解压缩操作,无需在本地计算机上安装专门的软件。这种工具在处理大文件或远程文件时尤为方便,尤其对于那些不熟悉或...
在处理文件操作,包括文件的压缩与解压缩时,PHP提供了内置的函数库,使得开发者能够方便地实现这些功能。"php文件在线压缩程序类.zip"这个资源提供了一个用PHP编写的文件在线压缩类库,它利用了PHP自身提供的压缩...
PHP 自带 ZIP 压缩、解压缩类 ZipArchiv 是 PHP 语言中的一个内置类,用于实现 ZIP 文件的压缩和解压缩操作。该类提供了多种方法来操作 ZIP 文件,例如压缩文件、解压缩文件、追加文件到 ZIP 文件、删除压缩文件中的...
3. 使用`ZipArchive`或其他第三方库解压缩文件,可能通过`unzip.php`等脚本来实现。 4. `rm.php`可能用于在解压后删除临时文件,保持服务器整洁。 5. 解压缩完成后,将结果反馈给用户,例如列出所有解压出的文件或...
- 解压缩:`ZipArchive::extractTo()`方法可以将ZIP文件中的内容解压缩到指定目录。 2. **gz** 函数系列: - 压缩:`gzencode()`和`gzcompress()`用于对字符串进行压缩,生成GZIP或ZLIB格式的数据。 - 解压缩:`...
总结来说,"php 站点在线zip压缩解压缩小程序"利用了PHP的`ZipArchive`类,实现了在服务器端对ZIP文件的便捷操作,为用户提供了高效且实用的功能。不过,实际部署时,需要注意安全性、性能优化以及错误处理,以确保...