• 日常搜索
  • 端口查询
  • IP查询
  • 在线工具
  • 搜本站

如何在PHP中压缩和解压缩文件

本教程将教您如何在 PHP 中将文件压缩和解压缩(压缩和解压缩)到 zip 归档文件中。您还将学如何删除或重命名存档中的文件,而无需先提取它们。

  • PHP中压缩一个文件

  • 压缩目录中的多个文件

  • 修改或覆盖档案

  • 从档案中提取内容

  • 获得对档案的更多控制权

如何在PHP中压缩和解压缩文件  第1张

在 PHP 中压缩单个文件

如何在PHP中压缩和解压缩文件  第2张

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

如何在PHP中压缩和解压缩文件  第3张

压缩目录中的多个文件

如何在PHP中压缩和解压缩文件  第4张

像往常一样,我们首先创建一个ZipArchive实例,然后使用该open()方法创建我们的存档。每次调用方法之前,我们还为数组中的add_path键指定不同的值。这样,我们可以一次处理一组特定的文件,并相应地提供归档选项。$optionsaddGlob()

在第一种情况下,

我们遍历lights目录中的所有.jpg文件,

并将它们放置在归档文件light_wallpapers目录中。

同样,

我们遍历文档目录中的所有.ttf文件,

然后将它们放入存档中,

名为font_files的文件夹中。

最后,

我们一次遍历文档中的所有.jpg和.png文件,

并将它们全部放在images目录中。

如您所见,

$options参数中的值,

对于组织存档内的内容很有用。

修改或覆盖档案

如何在PHP中压缩和解压缩文件  第5张

从档案中提取内容

如何在PHP中压缩和解压缩文件  第6张

获得对档案的更多控制权

如何在PHP中压缩和解压缩文件  第7张

类似的功能renameName($oldname, $newname)可用于更改存档中任何文件的名称。$newname如果标题为的文件已存在,您将收到错误消息。

最后的想法

我们已经介绍了ZipArchive该类的许多非常有用的方法,它们将使 PHP 中文件的自动压缩和提取变得轻而易举。您现在应该能够根据自己的标准一次压缩单个文件或一组文件。同样,您应该能够从存档中提取任何特定文件而不会影响其他内容。

在 和 的帮助下count()numFiles您将获得对单个文件的更多控制权,重命名或删除它们将非常容易。您应该至少阅读一次文档以了解更多此类功能。

文章目录
  • 在 PHP 中压缩单个文件
  • 压缩目录中的多个文件
  • 修改或覆盖档案
  • 从档案中提取内容
  • 获得对档案的更多控制权
  • 最后的想法
  • 发表评论