下面小编来给大家演示几个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