PHP 使用 Zip File 函数在线解压文件

平时都是使用 FTP 上传文件的,FTP 的方式就是一个个文件逐个上传,上传的速度很慢而且很费时间,偶尔因为网速原因还会卡住,那么我就想,能不能先把文件压缩成 zip 文件,然后上传以后在服务器上解压,这样更加的方便传送大量的文件。

PHP 使用 Zip File 函数在线解压文件

如需在服务器上运行 Zip File 函数,必须安装这些库:

  • Guido Draheim 的 ZZIPlib 库
  • Zip PELC 扩展

函数安装

在 Linux 系统上安装

PHP 5+:Zip 函数和 Zip 库默认不会启用,必须从上面的链接下载。请使用 --with-zip=DIR 配置选项来包含 Zip 支持。

在 Windows 系统上安装

PHP 5+:Zip 函数默认不会启用,必须从上面的链接下载 php_zip.dllZZIPlib 库。必须在 php.ini 之内启用 php_zip.dll

如需启用任何 PHP 扩展,PHP 的 extension_dir 设置(在 php.ini 文件中)应该设置为该 PHP 扩展所在的目录。举例 extension_dir 的值可能是 c:\php\ext

可用函数

函数描述PHP
zip_close()关闭 ZIP 文件。4
zip_entry_close()关闭 ZIP 文件中的一个项目。4
zip_entry_compressedsize()返回 ZIP 文件中的一个项目的被压缩尺寸。4
zip_entry_compressionmethod()返回 ZIP 文件中的一个项目的压缩方法。4
zip_entry_filesize()返回 ZIP 文件中的一个项目的实际文件尺寸。4
zip_entry_name()返回 ZIP 文件中的一个项目的名称。4
zip_entry_open()打开 ZIP 文件中的一个项目以供读取。4
zip_entry_read()读取 ZIP 文件中的一个打开的项目。4
zip_open()打开 ZIP 文件。4
zip_read()读取 ZIP 文件中的下一个项目。4

函数示例

$zip = zip_open("/tmp/test2.zip");

if ($zip) {

    while ($zip_entry = zip_read($zip)) {

        echo "Name:               " . zip_entry_name($zip_entry) . "\n";

        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";

        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";

        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {

            echo "File Contents:\n";

            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));

            echo "$buf\n";

            zip_entry_close($zip_entry);

        }

        echo "\n";

    }

    zip_close($zip);

}

以上是 PHP 使用 Zip File 函数在线解压文件 的全部内容, 来源链接: utcz.com/p/231797.html

回到顶部