本教程将教您如何在 PHP 中将文件压缩和解压缩(压缩和解压缩)到 zip 归档文件中。您还将学如何删除或重命名存档中的文件,而无需先提取它们。
在PHP中压缩一个文件
压缩目录中的多个文件
修改或覆盖档案
从档案中提取内容
获得对档案的更多控制权

在 PHP 中压缩单个文件

假设您有一个网站,允许用户下载不同字体的字体文件以及使用它们的许可信息。像这样的文件将是使用 PHP 自动归档的完美示例。以下代码向您展示了如何做到这一点。

压缩目录中的多个文件

像往常一样,我们首先创建一个ZipArchive实例,然后使用该open()方法创建我们的存档。每次调用方法之前,我们还为数组中的add_path键指定不同的值。这样,我们可以一次处理一组特定的文件,并相应地提供归档选项。$optionsaddGlob()
在第一种情况下,
我们遍历lights目录中的所有.jpg文件,
并将它们放置在归档文件light_wallpapers目录中。
同样,
我们遍历文档目录中的所有.ttf文件,
然后将它们放入存档中,
名为font_files的文件夹中。
最后,
我们一次遍历文档中的所有.jpg和.png文件,
并将它们全部放在images目录中。
如您所见,
$options参数中的值,
对于组织存档内的内容很有用。
修改或覆盖档案

从档案中提取内容

获得对档案的更多控制权

类似的功能renameName($oldname, $newname)可用于更改存档中任何文件的名称。$newname如果标题为的文件已存在,您将收到错误消息。
最后的想法
我们已经介绍了ZipArchive该类的许多非常有用的方法,它们将使 PHP 中文件的自动压缩和提取变得轻而易举。您现在应该能够根据自己的标准一次压缩单个文件或一组文件。同样,您应该能够从存档中提取任何特定文件而不会影响其他内容。
在 和 的帮助下count(),numFiles您将获得对单个文件的更多控制权,重命名或删除它们将非常容易。您应该至少阅读一次文档以了解更多此类功能。

































发表评论