首页  >  文章  >  后端开发  >  PHP 压缩文件

PHP 压缩文件

WBOY
WBOY原创
2024-08-29 12:55:501051浏览

PHP Zip 文件函数用于将一堆文件或目录以压缩形式存储在一起。 Zip 是存档文件格式,用于以压缩形式存储文件。 Zip 存档可以方便地将许多文件或目录以压缩形式存储在一起,以便存储和共享它们。 PHP Zip 文件不是 PHP 中的内置函数,因为 PHP 中还有其他内置函数,因此如果该类不存在,我们需要安装该类;如果我们使用 PHP 5 或其他更新版本,则可以免费下载和安装所需的扩展。 Zip 扩展需要 libzip。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

要使用 Zip 文件,我们需要按如下方式执行安装 –

Linux 用户(PHP 5+):

  • Linux 用户必须下载并包含 PHP Zip 函数和库,因为默认情况下它们不是内置的。
  • 确保安装libzip版本0.11或更高版本,推荐版本0.11.2或更高版本。
  • 在 PHP 编译期间,使用配置选项 –with-libzip=DIR 来包含 Zip 支持。
  • 要启用 Zip 功能,必须使用 –enable-zip 标志编译 PHP。

Windows 用户(PHP 5+):

  • 与 Linux 类似,Windows 用户默认没有内置 PHP Zip 函数和库。
  • 下载并启用位于 php.ini 配置文件内的 php_zip.dll 文件,以使用 Zip 功能。
  • 请注意,在 PHP 5.3 中,此扩展已内置,因此不需要额外的步骤。

功能

在处理 Zip 文件时,我们需要使用下面提到的一些函数 –

  • zip_open():打开 ZIP 文件存档以供阅读。
  • zip_read():读取打开的 ZIP 文件存档中的下一个文件。
  • zip_entry_open():打开 ZIP 文件中的目录条目以供读取。
  • zip_entry_read():从 ZIP 文件中的打开目录条目读取。
  • zip_entry_compressedsize():检索 ZIP 目录条目的压缩文件大小。
  • zip_entry_compressionmethod():检索 ZIP 目录条目的压缩方法。
  • zip_entry_filesize():检索 ZIP 目录条目的文件的实际大小。
  • zip_entry_name():检索 ZIP 目录条目的名称。
  • zip_close():关闭 ZIP 文件存档。
  • zip_entry_close():关闭 ZIP 目录条目。

PHP XML 到数组的示例

创建 Zip 文件的 PHP Zip 文件示例 -

接下来,我们编写 PHP 代码,通过以下示例更清楚地理解 PHP Zip 文件,其中 Zip 文件用于以压缩形式将一堆文件和目录存储在一起,如下所示 –

示例#1

首先,我们将创建文件夹,然后创建我们想要捆绑的文件或目录并压缩它们;然后我们使用 PHP 代码来压缩它们。

代码:

<?php
// give the path of directory whose file we want to Zip
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// Creating the new zip class
$zip_obj = new ZipArchive;
if( $zip_obj -> open( $zipfile, ZipArchive::CREATE ) === TRUE )
{
// open the directory at the gien path into the variable
$dir = opendir( $dir_path );
while( $file = readdir( $dir )) {
if( is_file( $dir_path.$file )) {
$zip_obj -> addFile( $dir_path.$file, $file );
}
}
$zip_obj ->close();
}
?>

输出:

PHP 压缩文件

如上面的代码所示,它具有目录路径(从所有文件到 Zip 的位置)和文件名(以创建 zip 文件的名称)。首先,使用以下代码“$zip_obj = new ZipArchive;”创建 ZipArchive 类对象。然后迭代该目录路径中的所有可用文件,然后通过使用 ZipArchive 对象,使用此代码“$zip_obj ->”将文件添加到 Zip 存档中。 addFile( $dir_path.$file, $file );.”

示例#2

PHP Zip 文件示例解压 Zip 文件 -

接下来,我们编写 PHP 代码来理解 PHP Zip 文件,其中 Zip 文件被解压缩以提取这里的所有压缩文件或目录,如下 –

代码:

<?php
// Enter the path of directory
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// create new zip class object
$zip_obj = new ZipArchive;
$file = $dir_path.$zipfile;
print("The Zip file location is : ");
print($file);
// Add zip filename which we need to unzip
$zip_obj->open( $file );
// Extract all the Zip files to the current directory
$zip_obj->extractTo('./');
$zip_obj->close();
?>

输出:

PHP 压缩文件

如上面的代码,它有目录路径和文件名(要解压哪个文件)。首先,使用以下代码“$zip_obj = new ZipArchive;”创建 ZipArchive 类对象。然后,通过使用 ZipArchive 对象,从该路径打开文件,然后使用以下代码“$zip_obj ->”提取添加到 Zip 存档中的所有文件。 extractTo(‘./’);”.

以上是PHP 压缩文件的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:PHP sscanf()下一篇:PHP $_REQUEST