本篇文章带大家介绍PHP的zip压缩工具扩展包。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 PHP的zip压缩工具扩展包学习 总算到了 PHP 的拿手好戏上场了,前面
总算到了 PHP 的拿手好戏上场了,前面我们学习过 Bzip2 、 LZF 、 Phar 和 rar 这些压缩相关扩展在 PHP 中的使用,不过它们要么是太冷门,要么就是很多功能不支持。而 Zip 则是在 PHP 中得到最大幅度功能支持的热门压缩格式,或者说是通用常见的一种压缩格式。当然,也主要得益于 Zip 也是事实上的 Linux 环境中的通用压缩格式。
安装
对于 PHP 来说,Zip 扩展已经集成在了 PHP 的安装包中,在 Configure 的时候可以直接加上 --with-zip ,如果在安装的时候没有加上这个参数,我们也可以在源码包的 ext/zip 下找到源码,然后通过扩展安装的方式进行安装。
创建一个压缩包
$zip = new ZipArchive(); $filename = './test_zip.zip'; if($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE){ exit('cannot open ' . $filename .'\n'); } // 加入文字类型的文件 $zip->addFromString('testfile1.txt' . time(), "#1"); $zip->addFromString('testfile2.txt' . time(), "#2"); // 加入已存在的文件 $zip->addFile('rar.php', 'newrar.php'); echo $zip->numFiles, PHP_EOL; // 文件数量 echo $zip->status, PHP_EOL; // 压缩包状态 $zip->close(); // 使用操作系统的 unzip 查看 // # unzip -l test_zip.zip // Archive: test_zip.zip // Length Date Time Name // --------- ---------- ----- ---- // 2 07-08-2020 08:57 testfile1.txt1594169845 // 2 07-08-2020 08:57 testfile2.txt1594169845 // 2178 07-07-2020 08:55 newrar2.php // --------- ------- // 2182 3 files
之前学习过的 rar 扩展是无法打包文件或者创建新的压缩包的,而 Zip 一上来我们就学习的是创建一个新的压缩包。通过实例化一个 ZipArchive 对象后,我们就可以使用 open() 函数打开或创建一个压缩包文件。接着,我们使用了两种添加内容的方式。addFromString() 是加入文字类型的文件,也就是将一段文字转换成文本文件保存在这个压缩包中。另外,我们通过 addFile() 来将外部的文件加入到这个压缩包中。
【