我具有由一个cron即在ZIP64格式下载的文件。

如何使用PHP或经由一个PHP CMD其解压缩()?

有帮助吗?

解决方案

令人惊讶的Unix的解压只是工作!

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

其他提示

这是我所知道的一对夫妇的选择。

如果您的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,ZIP64自动使用在必要时,在压缩文件中读取数据时。

可替换地,可以调用设置有DotNetZip的命令行工具。 这有工作在Linux +单声道,除了Windows + .NET的优势。 该工具包含unzip.exe,你可以只调用(CMD)unzip.exe downloaded-zip.zip。它会自动处理ZIP64的东西。上有包含unzip.exe选项来指定要提取,里面的文件解压,等等。

显然Perl的 IO::Compress::Zip 模块支持ZIP64。如果你足够的舒适安装它,你可以通过 shell_exec()召唤小Perl脚本

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top