在php中支持zip64?

时间:2009-11-04 17:50:37

标签: php zip unzip

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

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

3 个答案:

答案 0 :(得分:2)

令人惊讶的是,unix的解压缩工作正常!

exec(unzip -n -q zip-downloaded-by-cron.zip -d photos);

答案 1 :(得分:0)

我知道的几个选项。

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

$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上有一些选项可以指定要提取的位置,要提取的文件,等等。

答案 2 :(得分:0)

显然Perl的IO::Compress::Zip模块支持Zip64。如果您足够舒服地安装它,您可以通过shell_exec()调用一个小的Perl脚本。