本文实例讲述了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,例如:
1
2
3
4
5
6
7
8
9
10
11
|
<?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' ; } ?> |
下面是一些参数说明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?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程序设计有所帮助。