1

我有一个由 cron 下载的 zip64 格式的文件。

如何使用 php 或通过 php cmd() 解压缩它?

4

3 回答 3

2

令人惊讶的是,unix 的解压缩刚刚起作用!

exec(unzip -n -q zip-downloaded-by-cron.zip -d photos);
于 2009-11-05T08:07:15.670 回答
0

我知道的几个选项。

如果您的 PHP 在 Windows 上运行,您可以使用DotNetZip的 COM 接口。

$zipInput = "c:\\temp\\zip-downloaded-by-cron.zip"; 
$zip = new COM("Ionic.Zip.ZipFile");
$zip->Initialize($zipInput);
$dirForExtract= "c:\\temp\\extract";
# optional password 
$zip->Password = "AES-Encryption-Is-Secure";
$zip->ExtractAll($dirForExtract);
$zip->Dispose();

对于 DotNetZip,在读取 zip 文件时,必要时会自动使用 ZIP64。

或者,您可以调用 DotNetZip 提供的命令行工具。除了 Windows+.NET 之外,这还具有在 Linux+Mono 上工作的优势。该工具是 unzip.exe,您可以调用 (cmd) unzip.exe downloaded-zip.zip。它会自动处理 zip64 的东西。unzip.exe 上有一些选项可以指定提取位置、提取哪些文件等。

于 2009-11-05T01:48:16.807 回答
0

显然 Perl 的IO::Compress::Zip模块支持 Zip64。如果您对安装它感到满意,您可以通过shell_exec().

于 2009-11-05T02:10:51.177 回答