php打包压缩文件之ZipArchive方法用法分析

yipeiwu_com5年前PHP代码库

本文实例讲述了php打包压缩文件之ZipArchive方法用法。分享给大家供大家参考,具体如下:

前面说到了php打包压缩文件之PclZip方法,今天来说下另一种更为简单的方法,使用ZipArchive来压缩文件。这个是php的扩展类,自php5.2版本以后就已经支持这个扩展,如果你在使用的时候出现错误,查看下php.ini里面的extension=php_zip.dll前面的分号有没有去掉,然后再重启Apache这样才能使用这个类库。

使用ZipArchive压缩文件是非常简单的,php官网已经给我提供了很多相关示例,大家可以看下 http://www.php.net/manual/zh/class.ziparchive.php,例如:

<?php
$zip = new ZipArchive; //首先实例化这个类
if ($zip->open('test.zip') === TRUE) { //然后查看是否存在test.zip这个压缩包
  $zip->addFile('too.php');
  $zip->addFile('test.php'); //将too.php和test.php两个文件添加到test.zip压缩包中
  $zip->close(); //关闭
  echo 'ok';
} else {
  echo 'failed';
}
?>

下面是一些参数说明:

<?php
/******** 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
删除压缩包中的某一个文件名称,同时也将文件删除。
......
*/
?>

总之只要你的php5.2版本以上,使用ZipArchive来进行文件压缩还是比较方便的。具体的和PclZip哪一个运行速度比较快,这个磊子还没有做过测试,大家感兴趣的可以折腾折腾。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

DEDE采集大师官方留后门的删除办法

去除官方后门方法:安装好采集大师后,请立即删除 include目录下的dedesql.query.php文件,如已经安装过,有可能文件已被改名为arc.sqlquery.class.ph...

PHP实现采集抓取淘宝网单个商品信息

调用淘宝的数据可以使用淘宝提供的api,如果只需调用淘宝商品图片名称等公开信息在自己网站上,使用php中的 file_get_contents 函数实现即可。 思路: file_get_...

PHP simple_html_dom.php+正则 采集文章代码

复制代码 代码如下: <?php //包含PHP Simple html Dom 类库文件 include_once('./simplehtmldom/simple_html_do...

PHP5新特性: 更加面向对象化的PHP

PHP处理对象部分的内核完全重新开发过,提供更多功能的同时也提高了性能。在以前版本的php中,处理对象和处理基本类型(数字,字符串)的方式是一样的。这种方式的缺陷是:当将对象赋值给一个变...

探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解

Smarty中如何获取数组的长度 前提假设:分配了一个数组array给Smarty,假设Smarty的分界符为'{' 和'}'。在很多资料上都看到,在Smarty中要求数组的长度时,可以...