PHP 使用 Zip File 函数在线解压文件 - 文章教程

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

发布于 2018-01-05 字数 3042 浏览 2065 评论 0

平时都是使用 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);
}

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

猫性小仙女

文章 1 评论 0

qq_VO6LhT

文章 0 评论 0

猿舌电影

文章 0 评论 0

7556275422

文章 0 评论 0

YYQ_139

文章 0 评论 0