1

是否有任何可以解压缩常规 zip 文件的 PHP 脚本?我们的要求是我们必须在 safe_mode 上运行,并且不允许安装任何扩展来启用此功能。因此,任何功能都必须是常规的 php 脚本。

有什么想法吗?


编辑:不幸的是,发布的解决方案都不适合我们。除非切换主机,否则我们可能不会更改 safe_mode 要求,目前这不是一个选项。

4

5 回答 5

4

pclzip.lib.php 是一个相当流行且使用良好的 php 类,它能够使用纯 php 提取 zip 文件

http://www.phpconcept.net/pclzip/index.en.php

于 2009-04-07T08:27:49.010 回答
2

这里通常的答案是thisthis。但是,根据PHP 文档

PHP 4

捆绑的 PHP 4 版本需要» ZZIPlib,由 Guido Draheim,版本 0.10.6 或更高版本

PHP 5.2.0 或更高版本

这个扩展使用了Jean-loup Gailly 和 Mark Adler的» zlib的功能。

所以,两者都需要外部依赖。

于 2009-04-01T15:58:54.537 回答
2

您不能要求他们使用 .htaccess 指令禁用单个文件夹的安全模式,例如:

php_value safe_mode "0"

并将解压缩脚本放在那里?

如果是这样,那么类似:

$output = shell_exec('unzip /path/to/file');

会做的

于 2009-04-01T15:59:16.080 回答
2

看看http://www.phpclasses.org/browse/package/2495.html

它使用 gzip 扩展,但它几乎安装在每台服务器上(我希望,检查 phpinfo() )

于 2009-04-01T15:59:18.063 回答
0

如果您在 linux/unix 上运行,则可以运行

exec("unzip file.zip");

注意:启用安全模式后,您只能执行safe_mode_exec_dir.

于 2009-04-07T08:33:07.330 回答