使用PHP处理zip压缩文件之ZipArchive

jopen 10年前

PHP5.2以后,强化了对压缩文件的处理,不仅对zip算法,还包括rar算法、gzip算法等都有了相应的支持。

今天,我来和大家分享一下用PHP处理zip文件。我们用到的是ZipArchive类,如果你安装了PHP5.2以上,无需做任何配置即可开始使用该类。

创建压缩文件:

<?php    //实例化类  $zip = new ZipArchive();  //需要打开的zip文件,文件不存在将会自动创建  $filename = "./test.zip";    if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {   //如果是Linux系统,需要保证服务器开放了文件写权限      exit("文件打开失败!");  }    //将一段字符串添加到压缩文件中,test.txt文件会自动创建  $zip->addFromString("test.txt", "你好 , 世界");    //将test.php文件添加到压缩文件中  $zip->addFile("test.php");    //输出加入的文件数 , 这里应该是 2  echo "文件数 : ".$zip->numFiles;    //关闭文件  $zip->close();    ?>

创建的文件结构:

使用PHP处理zip压缩文件之ZipArchive

下面再来看解压文件:

<?php    $zip = new ZipArchive;    if ($zip->open('test.zip') === TRUE) {   //将test.zip中的文件解压到test文件夹中,文件夹会自动创建      $zip->extractTo('test/');      $zip->close();      echo '解压成功';  } else {      echo '解压失败';  }    ?>



ZipArchive类的基本使用就是这么简单。当然,它还有很多强大的功能,请参阅PHP官网中相关内容。

来自:http://my.oschina.net/crazymus/blog/345314