php读取zip文件(删除文件,提取文件,增加文件)实例

本文介绍了如何使用PHP的ZipArchive类进行zip文件操作,包括从zip文件中提取、删除文件以及向zip文件添加新文件。通过示例代码详细展示了如何解压缩、创建和追加文件到zip文件,以及使用flock实现文件锁定以防止并发写入冲突。
摘要由CSDN通过智能技术生成
					      下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。     

从zip压缩文件中提取文件

	 代码如下
	复制代码
<?php $zip=new ZipArchive; if ($zip->open('jQuery五屏上下滚动焦点图代码.zip')===TRUE) {//中文文件名要使用ANSI编码的文件格式 $zip->extractTo('foldername');//提取全部文件 //$zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));//提取部分文件 $zip->close(); echo 'ok'; } else { echo 'failed'; } ?>

从一个zip压缩文件中删除文件

	 代码如下
	复制代码
<?php $zip=new ZipArchive; if ($zip->open('ajaxupload.zip')===TRUE) { $zip->deleteName('file.txt');//删除文件 $zip->deleteName('testDir/');//删除文件夹 $zip->close(); echo 'ok'; } else { echo 'failed'; } ?>

添加一个文件到zip压缩文件中

	 代码如下
	复制代码
<?php $zip=new ZipArchive; if ($zip->open('ajaxupload.zip')===TRUE) {//ajaxupload.zip 是已经存在的zip文件,注意中文文件名要注意编码问题 $zip->addFile('33.xml');//添加新的文件 $zip->close(); echo 'ok'; } else { echo 'failed'; } ?>
      php ZipArchive可以说是php自带的一个函数了,他可对对文件进行压缩与解压缩处理,但是使用此类之前我们必须在php.ini中把extension=php_zip.dll前面的分号有没有去掉,然后再重启Apache这样才能使用这个类库。     

ziparchive 可选参数

1.ZipArchive::addEmptyDir

添加一个新的文件目录

2.ZipArchive::addFile

将文件添加到指定zip压缩包中。

3.ZipArchive::addFromString

添加的文件同时将内容添加进去

4.ZipArchive::close

关闭ziparchive

5.ZipArchive::extractTo

将压缩包解压

6.ZipArchive::open

打开一个zip压缩包

7.ZipArchive::getStatusString

返回压缩时的状态内容,包括错误信息,压缩信息等等

8.ZipArchive::deleteIndex

删除压缩包中的某一个文件,如:deleteIndex(0)删除第一个文件

9.ZipArchive::deleteName

删除压缩包中的某一个文件名称,同时也将文件删除。

*/

实例

一、解压缩zip文件

	 代码如下
	复制代码
  
  
	$zip=new ZipArchive;//新建一个ZipArchive的对象

if ($zip->open(‘test.zip’)===TRUE)

{

$zip->extractTo(‘images’);//假设解压缩到在当前路径下images文件夹的子文件夹php

$zip->close();//关闭处理的zip文件

}

二、将文件压缩成zip文件

	 代码如下
	复制代码
  
  
	$zip=new ZipArchive;

if ($zip->open(‘test.zip’, ZipArchive::OVERWRITE)===TRUE)

{

$zip->addFile(‘image.txt’);//假设加入的文件名是image.txt,在当前路径下

$zip->close();

}

三、文件追加内容添加到zip文件

	 代码如下
	复制代码
  
  
	$zip=new ZipArchive;

r e s = res= 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) {

h a n d l e r = o

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dituirenwu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值